Android 动画滞后\背景慢

标签 android animation android-asynctask

我想为一些非常小的东西制作动画,只是为了尝试一下......但是:

动画效果完美,没有背景。

当我设置主布局的背景时,动画非常滞后\慢且帧速率非常低。

这是我的代码:

主要 fragment :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- android:background="@drawable/backgroundhotpink"  -->


<ImageView
    android:id="@+id/flickit"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="83dp"
    android:src="@drawable/switch_on" />

<TextView
    android:id="@+id/message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="24dp"
    android:text="message"
    android:textSize="30sp" 
    android:typeface="sans" />

<TextView
    android:id="@+id/score"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/message"
    android:layout_alignBottom="@+id/message"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="44dp"
    android:gravity="center"
    android:rotation="-45"
    android:text="0"
    android:textSize="23sp" />

<Button
    android:id="@+id/startStopGame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="15dp"
    android:text="Start Game" />

<ImageView
    android:id="@+id/socketImageview"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_below="@+id/flickit"
    android:layout_centerHorizontal="true"
    android:src="@drawable/socket" />

<TextView
    android:id="@+id/timer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Time"
    android:layout_margin="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

动画:

<?xml version="1.0" encoding="utf-8"?>


  <set android:shareInterpolator="false"                   
xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0"
    android:toXScale="1.4"
    android:fromYScale="1.0"
    android:toYScale="0.6"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fillAfter="false"
    android:duration="300" />

</set>

动画同步任务:

protected Void doInBackground(View... params) {
    final View v = params[0];
    myHandler.post(new Runnable() {
        public void run() {

            v.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.scale_back_fowrad));

        }
    });
    return null;


}

最佳答案

出现此问题的原因是您用作背景的图像的大小和格式。请执行以下操作以避免此问题:

  1. 保持图片大小小于 500 kb
  2. 图片使用png格式

关于Android 动画滞后\背景慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307312/

相关文章:

java - 适用于 Android 的 Webrtc Aecm

jquery - 如何使用 jQuery 补间两个位置?

android - 在AsyncTask和IntentService之间进行选择的决定因素是什么?

android - 在 Android 中,loader 相对于 Asynctask 的优势是什么?

java - Google App Engine Connected Android (Eclipse) 设备端点错误

android - 在 ConstraintLayout 中使用 minHeight 查看

javascript - 使用 SMIL 制作 SVG 动画

javascript - 动画 SVG 蒙版删除

android - 异步任务数据 getter

android - 如何将图像从一种布局拖到另一种布局