Android:如何避免我的进程被杀死

5

可能之前已经讨论过,但我没有找到答案。我的应用程序在其他应用程序需要内存时会被杀死,我查看了Activity生命周期并测试了我的应用程序。我想知道的是:当我的进程中调用onPause()或onStop()并且其他应用程序需要内存时,如何避免我的进程被杀死。

2个回答

6
你无法避免这种情况。当系统需要内存或进行清理时,它会关闭应用程序。
但是你可以通过某种方式控制你的应用程序的重要性,以使其运行时间更长。阅读这里有关进程终止相关的各种应用程序部分的重要性: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html#Lifecycle 要拥有长时间运行的应用程序,请实现服务(Service)。然而,服务也可能会被关闭,但系统会安排在一段时间后重新启动已关闭或崩溃的服务。

在某些游戏中,当你正在玩游戏时按下(硬)HOME 按钮并使用其他应用程序时,游戏永远不会被杀死(从未被注意到)。那么他们是如何做到这一点的呢? - Uroš Podkrižnik
这取决于Android版本。在2.3上,无论内存状态如何,非活动Activity在大约20分钟后都会被杀死。或者他们只是正确保存/恢复状态,你不会注意到。 - Pointer Null

1

这是不可能的,在安卓系统中每个应用程序都是平等对待的,你必须考虑到你的应用程序可能会被终止。如果你想要在后台运行某些操作,你可以保持服务运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接