Android中通过AsyncTask类来制作炫酷进度条的实例教程

2019-12-10 18:02:52王旭

这样一个简单的下载文件文件就基本实现了,到目前为止谈不上技巧,但是现在我们有一个问题,就是如果我们的Activity正在后台执行一个任务,可能耗时较长,那用户可能会点击返回退出Activity或者退出App,那么后台任务不会立即退出,如果AsyncTask内部有Activity中成员变量的引用,还会造成Activity的回收延时,造成一段时间内的内存泄露,所以我们需要加上下面的第四步处理。

4.onPause中判断应用是否要退出,从而决定是否取消AsyncTask执行。

@Override
protected void onPause() {
 super.onPause();
 if (myTask != null && isFinishing()) {
   myTask.cancel(false);
 }
}

这样我们的异步任务就会在Activity退出时,也随之取消任务执行,顺利被系统销毁回收,第四步很多时候会被遗漏,而且一般也不会有什么致命的问题,但是一旦出问题了,就很难排查,所以遵循编码规范还是有必要的。



注:相关教程知识阅读请移步到Android开发频道。