我想知道Android本身杀死我们的应用程序的条件是什么?

时间:2013-11-07 06:14:06

标签: android kill-process

我正在处理闹钟,它大部分时间都有效,但有时它不起作用。然后我发现它会起作用,直到你的应用程序没有被杀死或设备重新启动。我没有重新启动我的设备所以只原因可能是我的应用程序被杀死了。 所以我的问题是基于Android本身杀死我的应用程序的条件和标准。

3 个答案:

答案 0 :(得分:1)

根据doc

  

Android可能决定在某个时刻关闭某个进程/应用   内存很低,并且需要更多其他进程   立即为用户服务。应用程序组件在中运行   因此被杀的过程被破坏了。一个过程开始了   再次为那些组件再次为他们做的工作。

     

在决定杀死哪些进程时,Android系统会对其进行权衡   对用户的相对重要性。例如,它更容易关闭   下载不再可见的活动的进程   屏幕,与托管可见活动的进程相比。决定   因此,是否终止进程取决于状态   在该过程中运行的组件。

答案 1 :(得分:0)

以下链接可帮助您理解:

http://developer.android.com/guide/components/processes-and-threads.html

你可以让你服务在前台运行,这样它就不会被系统杀死。音乐播放器就是这样一个例子。

答案 2 :(得分:0)

简单回答是“内存不足”......


Android可能决定在某个时刻关闭某个进程,此时内存不足并且需要更直接为用户提供服务的其他进程 。因此,在被杀死的进程中运行的应用程序组件将被销毁。当这些组件再次为它们工作时,将再次启动该过程。

在决定要杀死哪些进程时,Android系统会权衡它们对用户的相对重要性。例如,与托管可见活动的进程相比,它更容易关闭托管在屏幕上不再可见的活动的进程。因此,是否终止进程的决定取决于在该进程中运行的组件的状态。用于决定终止哪些进程的规则将在下面讨论。


详细了解processes-and-threads并阅读How to save Alarm after app killing?