6

我正在使用AsyncTask以下载我的活动中的图像

流程是这样的:

protected void onPreExecute() {
        \\begin animation
}

protected IUpiResponse doInBackground(String... params) {
         \\ download the image
}

protected void onPostExecute(IUpiResponse upiResponse) {
         \\stop the animation
}

直到这里一切都很好,如果我在异步任务工作时进入后台,问题就开始了,有时我在动画停止时得到一个异常空指针,因为视图不再有效(我猜),

如果活动在前台,我可以在停止动画之前检查,但我更喜欢避免这种方法,我还能做什么?

4

1 回答 1

2

我更喜欢避免这种asyncTask方法,而是在一个简单的线程中下载图像,这也将它们保存到文件系统等持久层,然后发送一个Intent,

注意:如果后台活动Intent(如果您按照建议在 onResume 和 onPause 中注册和取消注册您的接收器)将不会收到,因此为避免内部出现此类情况,onResume您可以检查是否有更新等待您

于 2013-01-03T13:03:41.003 回答