服务在 Android 中自动重启的方式和时间



根据文档(参考:http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle),android将自动重新启动由于内存不足而被终止的服务。

引用:

请注意,这意味着大多数情况下,如果服务处于沉重的内存压力下,它可能会被系统终止。如果发生这种情况,系统稍后将尝试重新启动该服务。

我的问题是:(1) 系统如何决定重启哪些服务?(2)"以后"是什么时候?

Android 上的进程以分层结构工作,因此列表顶部的任何服务都会首先重新启动。这也适用于活动进程,因此,如果正在运行的前台进程,则该前台服务位于列表顶部,将首先删除。这几乎是一个堆栈。我认为在较高内存压力下的进程优先级会上升,但谁知道呢,你必须看看野兽的肚子才能看到实际发生了什么。

最新更新