【发布时间】:2012-05-21 13:23:40
【问题描述】:
考虑在 Activity 中启动的 AsyncTask。如果 Activity 被暂停或销毁会发生什么? onPostExecute() 会运行吗?如果是,将使用哪个 UI 线程?
只是想知道。
非常感谢。
【问题讨论】:
-
onPostExcecute将运行,但如果您的 Activity 被销毁,则尝试在死线程上运行时抛出异常。如果您的 Activity 可能关闭时正在运行 AsyncTask,请考虑将您的代码移动到服务或使用加载器。 -
如果 Activity 被破坏:它将崩溃,因为它丢失了与原始 Activity 的引用。 Incase Activity 暂停,它仍然在该 Activity 上运行。对于这种情况:您应该使用意图服务,并通过广播获取结果。
标签: android android-activity android-asynctask