AsyncTask加载数据时动画会冻结

时间:2019-01-10 14:21:43

标签: java android android-animation

我有一个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,它将一直旋转,直到完成所有背景任务为止,但此动画没有完成

0 个答案:

没有答案