【问题标题】:How to know when a process exited?如何知道进程何时退出?
【发布时间】:2018-07-16 07:10:44
【问题描述】:

我有一个输出日志的进程。 但该过程有时会在三星设备中退出。 如果该进程退出,我想重新创建进程。 我可以使用以下代码检查进程是否退出。

if (process.toString().contains("hasExited=true, exitcode=1")) {
    // recreate process
}

现在我想知道进程退出时是否调用了任何回调函数。 提前致谢。

【问题讨论】:

    标签: android process android-logcat


    【解决方案1】:

    如果进程退出,我认为这是由系统由于内存/资源不足(或在某些情况下不活动)引起的。该进程是否属于您为该进程创建的作为监视器的同一个应用程序,还是属于不同的 APK?如果进程由于系统的 Kill() 命令而退出,则没有任何回调/事件,因此如果进程是您的,您可以在进程和 Monitor-App 之间创建单向持续通信。这样,当 Monitor-App 没有收到来自该进程的任何数据时,它应该被视为已终止。

    【讨论】:

    • 感谢您的快速回复。我认为这个过程是我的。它不是来自不同的 APK。你能告诉我关于你的建议的链接吗?提前致谢。
    • 什么链接?我认为您必须根据您的开发技能选择最佳的“IPC”(en.m.wikipedia.org/wiki/Inter-process_communication)方式在进程之间进行通信。我认为最好的解决方案是使用“管道”,但我不知道你是否了解它们。
    • 感谢您的帮助。我认为这对我来说是高级水平。我需要更深入地学习。
    猜你喜欢
    • 2016-10-23
    • 1970-01-01
    • 2015-01-29
    • 2013-01-25
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2010-10-09
    • 2010-09-18
    相关资源
    最近更新 更多