【问题标题】:Android - What happens to Threads when a Activity finishes?Android - 活动完成时线程会发生什么?
【发布时间】:2012-08-09 09:14:43
【问题描述】:

我有一个Activity,它启动一个Thread 来做一些工作。如果用户按下返回按钮,或者 UI 线程调用finish() 到线程会发生什么?

Activity 会在销毁之前等待线程到finish() 吗?

活动被销毁后线程是否完成了它的工作?

【问题讨论】:

标签: android multithreading android-activity


【解决方案1】:

线程会完成它的工作,但你不能对你的活动使用任何回调。

【讨论】:

  • 因此,如果 Activity 完成,我会收到 NullPointer 异常(线程将通过 Handle-Object 更新 UI),因为不再有引用,但线程可以正常工作吗? (仅供理解)
  • 不,你会得到坏窗口令牌或其他东西。这是一个很好的做法,可以直接将 activit 实例设置为线程对象并在 onDestroy 方法中删除。
【解决方案2】:

线程将在后台运行,直到线程被杀死。在您的情况下,线程不会被销毁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多