当服务被杀时,该过程是否还能活着?

时间:2011-11-10 23:00:37

标签: android

我的应用程序同时具有服务和活动。

假设我的应用程序正在运行。过了一会儿,由于内存不足,Android操作系统会在我的应用程序中杀死该服务。我的问题是,Android是否可能仅杀死该服务并使该进程保持活动状态?或者当服务被杀死时,该过程也必须被杀死?

感谢。

1 个答案:

答案 0 :(得分:3)

我99.99%肯定这一点:如果服务进行,那么也会有这个过程。杀死服务的条件非常苛刻,例如在内存不足的情况下。我自己的经验是,当服务终止时整个应用程序被杀死。服务和流程紧密相连。是的,您可以在不中断流程的情况下手动停止服务,但我几乎可以肯定,当操作系统因内存不足而终止您的服务时,再见过程。

见Hackbod的回答和评论:Android service killed

请参阅http://developer.android.com/reference/android/app/Service.html和onLowMemory:

  

当整个系统内存不足时调用此方法,并且   我想积极运行过程,试图收紧腰带。   虽然没有定义调用它的确切点,   通常它会在所有后台进程的时间周围发生   被杀,这是在达到杀戮过程之前   我们希望避免杀戮的托管服务和前台用户界面。

背景信息:http://about-android.blogspot.com/2010/07/lifecycle-of-android-application.html

这也很有趣:Will we leak the android service connection if the client's process is killed by android?