【发布时间】:2015-10-31 15:40:38
【问题描述】:
我在 android 中有一个使用 AsyncTask 从服务器获取数据的活动,我正在运行如下任务:
new Task.exectue();
问题是这个 AsyncTask 有多个调用,我想在调用 onDestroy 或 onBackPressed 时取消所有调用,我该如何实现?或者作为另一个灵魂,我如何检查活动中是否有任何后台任务正在运行?
【问题讨论】:
-
@Bubu 您是否建议我每次运行任务时都将其添加到列表中?请注意,我没有使用我总是使用新任务的对象来引用每个任务调用。执行我不知道这个任务会被调用多少次,也许一次可能一万次。
-
是的,当你想取消它们时,你遍历你的列表,检查 AsyncTask 是否正在运行并为每个 asyncTask 取消它。如果你有一万个异步任务并行运行,这是另一个问题,你可能必须以不同的方式完成你的工作:)
-
@Bubu haha 不,我不是说真的有一万个调用,只是用户可以点击同一个按钮调用任意多个任务。
标签: android android-activity android-asynctask