繁体   English   中英

android AsyncTask具有活动生命周期

[英]android AsyncTask with activity lifecycle

我使用AsyncTask来下载我的活动中的图像

流程是这样的:

protected void onPreExecute() {
        \\begin animation
}

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

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

直到这里一切都很好,问题开始,如果我去asrenctask工作的背景有时我在动画停止得到一个异常nullpointer,因为视图不再有效(我猜),

我可以在停止动画之前检查活动是否在前景但我更愿意避免这种方法,我还能做些什么?

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

注意:如果后台的活动是Intent (如果你在onResume中注册和取消注册你的接收者,那么就不会收到onRause),所以为了避免在onResume内有这种情况你可以检查是否有等待你的更新

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM