我希望您能告诉我停止异步任务的最佳方法。
我已经尝试过
@Override protected void onCancelled() {
super.onCancelled();
mTask.cancel(true);
}
我也尝试过
asyncTaskObject.cancel(true);
当与事件关联时,这特别有效。
但是假设场景是:有4个AsyncTask。第一个调用第二个,第二个调用第三个,第三个调用第四个。当用户进入活动时,没有对话框。否则我们可以在那里使用onCancel方法。当用户在页面上的任何位置单击时,如果用户没有单击任何地方,则不显示对话框,但异步任务仍在后台运行。假设用户单击“返回”按钮或导航图标到主页,则将用户带出当前活动。但异步任务仍在后台运行,最终应用程序崩溃。我已经在onBackPressed中使用了cancel方法。但问题是你不能确定哪个任务正在运行,应用程序再次崩溃。
有什么解决办法吗?