清除多任务堆栈android时服务会破坏

时间:2014-06-30 16:45:28

标签: android service background-process multitasking ondestroy

我正在使用我的Android应用程序中的服务,但是当我从多任务关闭我的应用程序时突然背景服务< / strong>从该应用程序停止,甚至我没有从onDestroy服务中获取日志......

我认为它被杀死是因为android破坏了应用程序的所有资源,我的服务也被杀死了。

经过一段时间的服务后,我不知道原因......我不知道原因......

是否有任何解决方案可以连续运行我的服务?

先谢谢。

1 个答案:

答案 0 :(得分:1)

我假设来自Multitasking的关闭应用程序等于杀死应用程序进程 是大多数流程/任务应用程序的功能。

我还假设您知道您的代码不包含某种Alarm 它会定期唤醒以重新启动您的服务。

如果描述的行为是一致的,并在几秒钟后发生 应用程序关闭,我们也可以排除唤醒的广播接收器 最开始的话。

这给我们留下了最后一个解释:您的流程被声明为sticky

class MyService extends Service { 

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) { 
        return START_STICKY; // declare service to be sticky
    }

}

粘性服务是一项服务,要求Android在突然死亡后重启它, 只要系统资源允许这样的重启。

您所描述的内容非常适合粘性行为。删除粘性标记 应该解决你的问题。