根据文档(参考:http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle),android会自动重启由于内存不足而被杀死的服务。
引用:
请注意,这意味着您的服务运行的大部分时间,如果系统承受很大的内存压力,它可能会被系统杀死。如果发生这种情况,系统稍后会尝试重新启动该服务。
我的问题是: (1)系统如何决定重启哪些服务? (2)什么时候“以后”?
答案 0 :(得分:0)
Android上的流程以分层结构工作,因此列表顶部的任何服务都会首先重新启动。这也适用于活动进程,因此如果您正在运行的前台中有一个进程,则该前台服务位于列表的顶部,并将首先删除。这几乎是一堆。我认为在更高的记忆压力下的过程会被优先考虑,但谁知道,你必须看看野兽的肚子,看看究竟发生了什么。