我有一个hearthBeat的简单动画,虽然该动画正在播放(无限),但我执行asynctask,但是在我执行asynctask时,我的动画开始冻结,并且直到完成onPostExecute
时才保持动画
private Animation beat;
beat = AnimationUtils.loadAnimation(SplashActivity.this,
R.anim.heartbeat);
new preLoadSplashScreen().execute();
然后在我的AsyncTask中
public class preLoadSplashScreen extends AsyncTask<Void,Void,Void>{
@Override
protected void onPreExecute() {
super.onPreExecute();
txtLoading.setText("Loading...");
findViewById(R.id.logo_inicial).startAnimation(beat);
}
@Override
protected Void doInBackground(Void... voids) {
try {
Json.getInstance().initJsonArrays();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
accessDashboard();
}
}
即使我附加了动画监听器,动画也会冻结
在我的后台任务完成工作之前,是否仍要继续在不同的线程中播放动画?
如果我放置ProgressBar
,它将一直旋转,直到完成所有背景任务为止,但此动画没有完成