应用程序自行停止(或通过Android OS)

时间:2013-08-05 02:30:53

标签: android

我有一个Android应用程序,它应该始终在后台运行。我把它建成普通的Android应用程序。它工作得很好,但是,有时它会自行停止(或通过Android OS)并且必须重新运行它。这不是因为导致错误,这是因为它可能是正常的应用程序。

如何在后台一直工作?

更新

应用程序具有GUI。

3 个答案:

答案 0 :(得分:1)

创建服务并致电startForeground()以使其成为前台服务。它不会阻止它被杀死,只是让它不太可能,因为Android会试图让它比非前台服务更长时间保持活着。请注意,使用前台服务时,您需要在状态栏上放置一个带有图标的持续通知。

答案 1 :(得分:1)

由于内存限制,Android操作系统可能会在任何给定时间终止进程,您可以了解how Android manages memory here。正如@Karakuri所说,启动服务会使终止服务的可能性大大降低,使用服务的另一个好处就是,即使在它被杀死的情况下,操作系统也会在内存限制允许的时候尝试恢复:

  

请注意,这意味着您的服务大部分时间都在运行   如果它受到严重的记忆压力,就会被系统杀死。如果这   发生这种情况,系统稍后会尝试重启服务。

您可以从Android dev site了解有关服务的详细信息。

答案 2 :(得分:1)

假设您使用的是Service。如果从START_STICKY服务返回onStartCommand(),那么即使android必须终止该服务,只要资源空闲,它就会重新启动。