Android 在异步任务中加载动画

Android 在异步任务中加载动画,android,android-animation,Android,Android Animation,我试图在活动开始时启动一些动画,特别是一些应该淡入的笑脸,以及另一个imageview和textview。然而,在onCreate中执行所有这些操作会导致应用程序冻结,因此我尝试将所有动画移动到AsyncTask中,并在创建时执行它 这里是我称之为动画的地方: public class Animtask extends AsyncTask<Void, Void, Void> { protected Void doInBackground(Void... voids) { Anima

我试图在活动开始时启动一些动画,特别是一些应该淡入的笑脸,以及另一个imageview和textview。然而,在onCreate中执行所有这些操作会导致应用程序冻结,因此我尝试将所有动画移动到AsyncTask中,并在创建时执行它

这里是我称之为动画的地方:

public class Animtask extends AsyncTask<Void, Void, Void> {
 protected Void doInBackground(Void... voids) {
Animation fadein = AnimationUtils.loadAnimation(this, R.anim.fade);
_view.startAnimation(fadein);
_view2.startAnimation(fadein);
_view3.startAnimation(fadein);
_view4.startAnimation(fadein);
_view5.startAnimation(fadein);
guide.startAnimation(fadein);
blender.startAnimation(fadein);
}
}
public类Animtask扩展了AsyncTask{
受保护的空位背景(空位…空位){
Animation fadein=AnimationUtils.loadAnimation(this,R.anim.fade);
_视图。startAnimation(fadein);
_视图2.startAnimation(fadein);
_视图3.startAnimation(fadein);
_视图4.startAnimation(fadein);
_视图5.startAnimation(fadein);
指南:startAnimation(fadein);
搅拌机。startAnimation(法代因);
}
}
Eclipse似乎同意所有其他观点,但loadAnimation引起了问题,这表明该方法不适用于参数。有人能一眼看出我犯了什么大错吗?如果你认为相关的话,我会发布任何其他信息

Animation fadein = AnimationUtils.loadAnimation(this, R.anim.fade);
这里的
this
关键字是指通过扩展
AsyncTask
创建的
Animtask
类,但是
loadAnimation
方法需要
Context
类的对象。假设活动的类名是MyActivity,您可以通过将上面的行更改为来解决编译错误

Animation fadein = AnimationUtils.loadAnimation(MyActivity.this, R.anim.fade);

但是,
AsyncTask
中的
doInBackground
方法不应该触碰UI线程,因此当您尝试运行此AsyncTask时,您可能会遇到此错误。
减速真的仅仅是由动画引起的,还是由加载动画的资源(图像)引起的?一个解决方案可能是将动画调用移动到
onPostExecute
方法,并在
doInBackground
方法上加载资源。

老实说,如果问题出在哪里,需要更多的测试,我会告诉你这是否可行。它似乎不起作用,更多的测试表明它可能根本不是问题,由于textview和imageview都冻结了应用程序,所以我必须对它们进行不同的定义,这可能是问题所在。