2013-07-11 51 views
-1

我的应用程序启动一项服务,使用GPS跟踪位置。 使用应用程序创建的服务完成跟踪,当应用程序关闭时,该应用程序可以继续在后台运行。这工作正常,直到... 问题是(我认为),当Android设备的内存负载增加,我认为服务被换出并崩溃。 有没有办法强制服务保持加载? - 我会假设没有,但如果有它会有助于知道。 在此先感谢。当应用程序在后台时停止Android服务

+2

张贴您的邮政编码。 –

回答

0

标注你的服务为前台组件将确保它不会终止,除了在极端情况下,但你影响Android的管理其资源的能力。

另一种选择是重写onStartCommand事件处理程序以执行服务执行的代码。此方法由startService调用,并且在运行时重新启动服务时(Android可以在再次获得足够资源时自动重新启动服务)。在这里,您还可以指定重新启动行为。

@Override public int onStartCommand(Intent intent, int flags, int startId) 
{ 
    startBackgroundTask(intent, startId); //implement this method, doing processing on a new Thread 
    return Service.START_STICKY; 
} 

使用START_STICKY表示当服务终止后重新启动时,onStartCommand将再次被调用。请注意,对于重新启动,意图参数将为空。如果您再次需要原始意图,请使用START_REDELIVER_INTENT。

+0

我同意你对“妥协Android的能力”的评论。 – user2572708

相关问题