【问题标题】:Start android activity in existing proccess在现有进程中启动 android 活动
【发布时间】:2017-01-30 17:10:33
【问题描述】:

我的 Android 应用程序启动了一个本地前台服务(与我的活动在同一进程中)。 但是,系统由于内存不足而销毁了活动,但前台服务仍然存在。

下次用户启动应用程序时,它会启动一个新进程。 有没有办法让我现有的前台服务绑定到这个新创建的进程,而不是旧的被破坏的进程?

我认为的一个选择是采用进程间通信,由于复杂性高,我想避免。还有其他方法吗?

【问题讨论】:

  • “它开始一个新进程”——不正常。这样做的唯一原因是您在清单中使用android:process 属性。如果您是,并且您不想要它们,请摆脱它们。

标签: android android-activity android-service


【解决方案1】:

感谢CommonsWare 的提示。

来自documentation

默认情况下,同一个应用程序的所有组件都运行在同一个 进程和线程(称为“主”线程)。如果一个应用程序 组件启动并且已经存在一个进程 应用程序(因为应用程序的另一个组件存在), 然后组件在该进程中启动并使用相同的 执行线程。

它的行为符合预期。我是android开发的初学者,不知道。

我第二次从 Android Studio 以调试方式启动应用程序并重新创建了进程。这就是我感到困惑的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2023-03-04
    • 1970-01-01
    • 2017-11-04
    相关资源
    最近更新 更多