当应用程序位于后台时,java Android服务停止
我的应用程序启动了一项使用GPS跟踪位置的服务。 跟踪是使用应用程序创建的服务完成的,当应用程序关闭时,该服务可以继续在后台运行。这很好,直到。。。 问题是(我认为)当安卓设备内存负载增加时,我认为服务会被调出并崩溃。 是否有办法强制服务保持加载状态?-我想不会,但如果有,知道会有帮助。 提前谢谢
你可以在下面搜索框中键入要查询的问题!
我的应用程序启动了一项使用GPS跟踪位置的服务。 跟踪是使用应用程序创建的服务完成的,当应用程序关闭时,该服务可以继续在后台运行。这很好,直到。。。 问题是(我认为)当安卓设备内存负载增加时,我认为服务会被调出并崩溃。 是否有办法强制服务保持加载状态?-我想不会,但如果有,知道会有帮助。 提前谢谢
# 1 楼答案
将您的服务标记为前台组件将确保它不会被终止,除非在极端情况下,但您正在损害Android管理其资源的能力
另一个选项是重写onStartCommand事件处理程序以执行服务执行的代码。此方法由startService调用,也可在运行时重新启动服务时调用(Android可以在再次获得足够资源时自动重新启动服务)。在这里,您还可以指定重启行为
使用START_STICKY意味着在服务终止后重新启动时,将再次调用onstart命令。请注意,对于重新启动,intent参数将为null。如果您再次需要原始意图,请使用START_REDELIVER_INTENT
# 2 楼答案
您可以使用
startForeground
方法,它是Service
中的一种方法,以便确定优先级。因此,系统将首先破坏其他应用程序http://developer.android.com/reference/android/app/Service.html#startForeground(int,%20android.app.Notification)