【问题标题】:android: onPostExecute of Asynchtask after Activity finishedandroid:Activity完成后Asynchtask的onPostExecute
【发布时间】:2013-09-22 09:03:35
【问题描述】:

AsynchTaskonPostExecute() 方法绑定到 UI 线程。假设我们在 AsynchTask doInBackground() 方法仍在进行中时通过按后退按钮关闭活动。

  1. 我想知道 onPostExecute 是否会考虑到活动不再显示在屏幕上来执行?
  2. 如果答案是肯定的,是否会导致异常? (因为访问不再显示在屏幕上的 UI 对象)。

【问题讨论】:

标签: android android-asynctask android-lifecycle activity-lifecycle


【解决方案1】:

1-我想知道 onPostExecute 是否会通过考虑执行 活动不再显示在屏幕上?

是的!

2-如果答案是肯定的,是否会导致异常? (因为 访问不再显示在屏幕上的 UI 对象)。

是的!它可能会导致异常,因为您在 AsyncTask 中使用的 Activity 实例和视图不再存在

此链接将为您提供更多帮助:AsyncTask won't stop even when the activity has destroyed

【讨论】:

  • 但是当activity为null时怎么办?
  • @PankajAndroid :您可以在活动销毁时取消异步任务,也可以在 onPostExecute 上检查空活动上下文。
猜你喜欢
  • 2011-04-06
  • 2019-05-11
  • 1970-01-01
  • 2016-10-07
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
相关资源
最近更新 更多