AsyncTask与android:noHistory =“true”

时间:2012-05-09 07:40:22

标签: android asynchronous android-activity android-asynctask

AndroidManifest.xml文件中,我在android:noHistory="true"中有activity个属性。在activity中,我有AsyncTask执行长时间运行的任务。当我转到另一个AsyncTask时,activity会继续运行吗?或者打开另一个activity导致AsyncTask停止?

3 个答案:

答案 0 :(得分:1)

是的,它会持续到完成为止。但要小心,你没有对onPostExecute中的活动做些什么。

答案 1 :(得分:0)

它会继续运行,因为它在自己的线程中运行,但它涉及一些有关更新UI和处理屏幕旋转的潜在问题。

我建议您开始Service,然后在那里运行AsyncTaskLoader。完成后,您可以使用LocalBroadcastManager让任何活动知道您的Service已完成,并且需要更新用户界面。

答案 2 :(得分:0)

一个很好的选择是使用loaders,它们提供这种任务管理,并且在轮换或其他导致活动消失的原因的情况下取消潜在的异步任务。