java - Android Activity会关闭Looper&Handler吗?

标签 java android multithreading loops thread-safety

抱歉,在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/

相关文章:

android - 如何使用 Firebase 服务器时间戳生成创建日期?

android - MyReciever 类型未定义方法 getsystemservice(string)

java - java多线程中的锁不起作用

java - 需要帮助将java程序翻译成C语言

java - 如何在本地构建中触发 yaml 文件的处理?

创建表时出现 Android SQLite 错误

android - 在后台线程上加载广告 (adMob)

c# - 为什么 log4net 线程卡在等待状态?

java - 注册模块 mainactivity.java react native

java - 错误:(3, 31)java : cannot access org. neo4j.configuration.GraphDatabaseSettings