D-D*_*D-D 12 events android android-asynctask
我想知道停止异步任务运行的最佳方法是什么.
我试过了
@Override protected void onCancelled() {
super.onCancelled();
mTask.cancel(true);
}
Run Code Online (Sandbox Code Playgroud)
我也试过了
asyncTaskObject.cancel(true);
Run Code Online (Sandbox Code Playgroud)
这在与事件相关联时特别有用.
但假设场景是---有4个AsyncTask.首先调用第二个,第二个调用第三个和第三个调用第四个.当用户输入活动时,没有对话框.否则我们可以在那里使用onCancel方法.当用户点击页面上的任何位置时,如果用户没有单击任何地方,则会出现对话框,但没有显示对话框,但异步任务在后台继续运行.假设用户单击"返回"按钮或导航图标到主页页面user.is取出当前活动.但异步任务继续在后台运行,最终应用程序崩溃.我已经习惯了onBackPressed中的cancel方法.但问题是你不能确定哪个任务正在运行,应用程序再次运行.
这是怎么回事?
Abh*_*han 17
继续引用AsyncTask对象作为实例变量,然后在onDestroy()中执行此操作
@Override
protected void onDestroy() {
if (mTask != null) {
mTask.cancel(true);
}
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10273 次 |
| 最近记录: |