我在AsyncTask中定义了一个网络任务,大约需要2-3秒才能完成。
当我添加下面的动画代码时:
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="60"
android:interpolator="@android:anim/linear_interpolator" />
然后在我的活动中按如下方式执行它:
progressImageView = (ImageView) getWindow().findViewById(
R.id.progressImageView);
progressAnimation = AnimationUtils.loadAnimation(this, R.anim.progress);
progressImageView.startAnimation(progressAnimation);
网络呼叫大约需要12-13秒来完成。我是不是做错了什么?
发布于 2012-01-27 16:09:20
我猜问题出在持续时间值上,它是以毫秒为单位指定的,我猜你想让它更接近6,000或60000 (1分钟)。
如果值太小,可能会导致UI线程使用大量帧更新进行备份,从而延迟UI线程处理异步任务中的onProgressUpdate和onPostExecute代码。
尝试将持续时间设置为更大的值。
https://stackoverflow.com/questions/9030306
复制相似问题