抱歉,在reading this.之后我有点困惑 如果说,我有一个 Activity,并且在其中, 我尝试创建一个内部类来实现具有循环器和处理程序的线程。
我的问题是; 如果我完成()我的 Activity 。这会关闭我上次刚刚创建的任何 Looper/Handler 吗?
恐怕线程仍在后台运行,尽管 Activity 已经关闭 -> 结束。
最佳答案
完成后,你不必关心附加在主线程上的Handler,因为它的Looper(以及线程本身)是由系统管理的,它会在需要时退出。
但是,如果 Handler 附加到一个不受系统管理的单独的 Looper(例如,一个由您启动的带有 Looper 的线程),那么如果您没有停止相关线程(该线程具有活套)。对于所有线程来说都是如此,线程拥有 Looper 的事实并不会改变这种情况。
因此,这里重要的想法是停止您手动启动的每个线程。
补充:
- 您始终可以在 Eclipse 中检查正在运行的线程。只需附上 调试器并转到调试 View 。所有主题都会在那里列出。
- 看看HandlerThread .
关于java - Android Activity会关闭Looper&Handler吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24711002/