【发布时间】:2015-10-20 10:48:16
【问题描述】:
假设我在清单中注册了一个 BroadcastReceiver,而我的应用程序未处于活动状态。因此将产生新进程,并且将在这个新进程的主线程上触发 BroadcastReceiver 的 onReceive() 方法。
现在,我从 onReceive() 方法生成一个线程(我知道不建议这样做,应该使用 Service 来延长 onReceive() 之后的进程生命周期)。
我很好奇生成的线程(让我们假设它无限期地运行)会使进程保持活力吗?应该考虑 JVM,因为 JVM 在有活动的非守护线程之前不会退出。那么艺术呢? ART 不是 JVM,它是一个编译器,编译后的应用程序的行为可能会有所不同,例如杀死进程并因此杀死所有线程,无论它们是否仍在运行。有人对这种情况有见解吗?
【问题讨论】:
标签: android multithreading process jvm android-runtime