在AndroidManifest.xml
文件中,我android:noHistory="true"
在activity
. 在那activity
,我有AsyncTask
一个长期运行的任务。AsyncTask
当我转到另一个时会继续运行activity
吗?还是会打开另一个activity
导致AsyncTask
停止?
问问题
318 次
3 回答
1
是的,它会一直持续到完成。但请注意,您没有对 onPostExecute 中的活动进行任何操作。
于 2012-05-09T07:43:08.277 回答
0
它将继续,因为它在自己的线程中运行,但它涉及一些关于更新 UI 和处理屏幕旋转的潜在问题。
我建议您Service
改为启动 a 并在其中运行您的AsyncTask
or Loader
。完成后,您可以使用LocalBroadcastManager
让任何活动知道您Service
已完成并且需要更新 UI。
于 2012-05-09T07:44:50.340 回答
0
一个不错的选择是使用loaders,它们提供这种任务管理,并且会在轮换或其他原因导致活动消失的情况下取消底层异步任务。
于 2012-05-09T07:45:33.110 回答