Android 在使用AsyncTask.execute()之前或之后使用帧动画时,帧动画不起作用

Android 在使用AsyncTask.execute()之前或之后使用帧动画时,帧动画不起作用,android,performance,android-asynctask,android-thread,Android,Performance,Android Asynctask,Android Thread,为什么这里的AsyncTask会造成与之无关的代码阻塞。例如: 动画在以下代码中运行: if(!(speakMe.getStatus() == AsyncTask.Status.RUNNING) ){ ((AnimationDrawable) mImageView.getBackground()).start(); Toast.makeText(getActivity(), "In the zone!", Toast.LENGTH_SHORT).show(); //

为什么这里的
AsyncTask
会造成与之无关的代码阻塞。例如:

动画在以下代码中运行:

if(!(speakMe.getStatus() == AsyncTask.Status.RUNNING) ){
      ((AnimationDrawable) mImageView.getBackground()).start();
      Toast.makeText(getActivity(), "In the zone!", Toast.LENGTH_SHORT).show();
  //  speakMe = new SpeakQuote();
  //  speakMe.execute(quote);
}
但不是在这方面:

if(!(speakMe.getStatus() == AsyncTask.Status.RUNNING) ){
    ((AnimationDrawable) mImageView.getBackground()).start();
    Toast.makeText(getActivity(), "In the zone!", Toast.LENGTH_SHORT).show();
    speakMe = new SpeakQuote();
    speakMe.execute(quote);
}
或在这方面:

if(!(speakMe.getStatus() == AsyncTask.Status.RUNNING) ){
    speakMe = new SpeakQuote();
    speakMe.execute(quote);
    ((AnimationDrawable) mImageView.getBackground()).start();
    Toast.makeText(getActivity(), "In the zone!", Toast.LENGTH_SHORT).show();
}

请注意,我正在片段类中的ImageView的onClick中运行此代码。

只是动画没有运行还是线程被阻塞?为了省去这一点,你说的是第一次单击ImageView,对吗?@k0bin线程正在工作,但动画没有运行。是的,当图像被点击时,它使用文本到语音引擎来说一些文本,这需要5,6秒。你没有回答我的第二个问题。如果动画是在您第一次单击ImageView时运行的,而不是在单击ImageView之后运行的,则显然是If的问题。如果不是,我可能需要更多的代码(AsyncTask就是一个开始)。