为了账号安全,请及时绑定邮箱和手机立即绑定

即使活动已经销毁,AsyncTask也不会停止

即使活动已经销毁,AsyncTask也不会停止

繁星点点滴滴 2019-08-15 16:44:59
即使活动已经销毁,AsyncTask也不会停止我有一个AsyncTask对象,它在创建活动时开始执行,并在后台执行操作(下载最多100个图像)。一切都很好,但有一种我不能理解的特殊行为。例如:当Android屏幕的方向发生变化时,活动将被销毁并再次创建。所以我重写onRetainNonConfigurationInstance()方法并保存在AsyncTask中执行的所有下载数据。我这样做的目的是每次在方向更改期间销毁活动时都不会运行AsyncTask,但正如我在日志中看到的那样,之前的AsyncTask仍然在执行。(虽然数据保存正确)我甚至尝试在活动的onDestroy()方法中取消AsyncTask,但日志仍然显示AsyncTask正在运行。这是非常奇怪的行为,如果有人能告诉我停止/取消AsyncTask的正确程序,真的很感激。谢谢
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

在方向改变时重新创建活动,是的,这是真的。但是每当这个事件发生时你都可以继续asynctask。

你检查一下

@Overrideprotected void onCreate(Bundle savedInstanceState) { 
     if ( savedInstanceState == null ) {
           startAsyncTask()
     } else {
           // ** Do Nothing async task will just continue.
     }}

-干杯


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 661 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信