【问题标题】:Does android kill the JVM when stopping services?停止服务时android会杀死JVM吗?
【发布时间】:2017-11-24 09:18:32
【问题描述】:

我有一个使用本机 pthread 运行长时间运行的任务的应用程序,我有一个后台服务,没有通知通过 JNI 保持对线程的引用。

当服务被销毁时,我失去了对 pthread 的引用。

我想将它存储在一个静态/单例中,这样它就可以在服务停止后继续存在。我的问题是:JVM什么时候死? android重启服务时会重新创建JVM吗?

谢谢

【问题讨论】:

    标签: android java-native-interface


    【解决方案1】:

    Android 可以随时杀死您的进程,如果它没有运行前台应用程序(请注意,这种情况可以随时从您的应用程序中窃取),并且所有线程都将消失。当框架重新启动您的服务时,它将是一个新进程,并带有其他线程。

    详情请见https://stackoverflow.com/a/24956128/192373

    【讨论】:

      【解决方案2】:

      是的,

      当所有线程(守护进程除外)都已死亡时,JVM 将退出。

      当您启动应用程序时,JVM 将启动一个非守护线程来运行您的静态 main 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 2018-06-08
        • 1970-01-01
        相关资源
        最近更新 更多