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