回答
asynctask线程在线程池中保持活动状态,以用于未来的AsyncTask。你不能删除它们。
虽然这可能是真的,但问题是关于取消任务,而不是摆脱它的线程。 – 2011-10-17 11:27:41
注意@Pentium10在接受的答案中发表评论 - 他希望“任务”(我相信意思是“线程”)“消失”这就是为什么我认为这个答案是最好的 – condiosluzverde 2012-04-25 22:27:04
谢谢詹姆斯:) – 2012-04-26 07:01:48
我认为要做到这一点,最好的地方是onStop
protected void onStop() {
super.onStop();
/*
* The device may have been rotated and the activity is going to be destroyed
* you always should be prepared to cancel your AsnycTasks before the Activity
* which created them is going to be destroyed.
* And dont rely on mayInteruptIfRunning
*/
if (this.loaderTask != null) {
this.loaderTask.cancel(false);
}
}
在我的任务的话,我检查
尽可能经常地,如果取消被称为
protected String doInBackground(String... arg0) {
if (this.isCancelled()) {
return null;
}
}
,当然还有不要忘记丢弃可能因为没有更多活动而返回的数据
protected void onPostExecute(List<UserStatus> result) {
if(!this.isCancelled()) {
//pass data to receiver
}
}
onPostExecute永远不会被调用isCancelled设置为true,而是调用onCancelled(Object) – 2014-02-14 07:08:17
- 1. 如何获得一个AsyncTask在活动结束时取消本身
- 2. Android:活动结束时AsyncTask的最佳实践
- 3. 如何取消AsyncTask
- 4. 活动结束活动Android
- 5. 如何开始动画结束活动
- 6. 在结束通话时更改活动
- 7. UploadServiceBroadcastReceiver在活动结束时关闭
- 8. 如何在进度条在Android中结束时更改活动?
- 9. 如何在其他活动结束之前停止活动?
- 10. 我结束活动
- 11. 我如何取消AsyncTask
- 12. 如何在测试结束时保持活动运行?
- 13. 如何在活动结束时避免清除通知
- 14. 如何在用户不活动时结束会话
- 15. AsyncTask运行在活动开始失败先前取消
- 16. HTTPPost失败时取消AsyncTask?
- 17. Android和回主活动时间结束
- 18. 如何在活动中显示asynctask值
- 19. 如何在Konva动画结束时采取行动?
- 20. 如何在Android动画结束后启动开始活动
- 21. 如何在活动结果后结束传出呼叫?
- 22. 在使用AsyncTask等待结果返回时显示活动
- 23. 的Android结束活动
- 24. 取消的AsyncTask
- 25. 取消ASyncTask
- 26. onPostExecute取消AsyncTask
- 27. 取消AsyncTask
- 28. 如何在一段时间后取消选择查看而不冻结活动
- 29. 如何取消激活,同时替换一个新的活动
- 30. 当呼叫活动结束时从活动传回一个值
请参阅http://stackoverflow.com/questions/2531336/asynctask-wont-stop-even-when-the-activity-has-destroyed – CommonsWare 2010-03-28 14:26:24
检查此正确的方法来取消一个asynctask http:// www.quicktips.in/correct-way-to-cancel-an-asynctask-in-android/ – 2016-06-29 17:09:11