Анимация зависает, пока AsyncTask загружает данные - PullRequest
0 голосов
/ 10 января 2019

У меня есть простая анимация hearthBeat, пока эта анимация воспроизводится (бесконечно), я выполняю асинхронную задачу, но в то время, когда я выполняю асинктальную задачу, моя анимация начинает зависать и не продолжать анимацию, пока 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, он будет вращаться до тех пор, пока не будет выполнена вся моя фоновая задача, но не эта анимация

...