android - 粘性服务被杀死后需要多长时间才能重新启动?

标签 android android-service

系统如何知道何时应该重新启动已终止的粘性服务?系统多久检查一次?当我终止我的粘性服务时,系统有时会立即重新启动它,有时会在几分钟或半小时后重新启动。

据说粘性服务会被系统重启,但是什么时候呢?是 100% 还是 99% 会重启?

最佳答案

当一个粘性服务被杀死时,当操作系统决定它被杀死的原因不再有效时,它将被重新启动。例如。如果由于内存问题被杀死,当有足够的内存时它会重新启动。

When system know when it should restart some killed services? How often system do this check? When i kill my service system some times restart it immediately some times after few minutes or half hover...START_STICKY said to system service will be restarted but when?

你不应该关心这个。唯一重要的是它在某个时候重新启动。

我有处理粘性服务的经验,我可以告诉您重新启动已终止服务所需的时间可能会有很大差异。有时它会立即接近,有时可能需要几分钟,有时一小时,有时更长时间。它依赖于许多因素,例如您的设备硬件、操作系统逻辑、任务调度等。您无法预测它,您的应用不应依赖于它。

And is it 100% will be restarted or 99%?

我从未见过粘性服务被终止后没有重新启动。

关于android - 粘性服务被杀死后需要多长时间才能重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717512/

相关文章:

android - onStartCommand 在服务 android 中只调用一次?

java - 互联网连接检查表现异常

Android/Sdk/build-tools/22.0.1/aapt'' 以非零退出值 1 完成

android - 为什么我们使用另一个继承binder类的类来访问BoundServices?

如果应用程序关闭,Android IntentService 无法完成任务

java - 以编程方式注册 BOOT_COMPLETED 广播

android - Activity 泄露了原来添加的窗口

android - 为什么每次运行应用程序后都会启动新的 Android 模拟器,但 DDMS 部分中没有显示它们

java - RelativeLayout 在 vi​​ew.setVisibility(View.GONE) 和 view.setVisibility(View.VISIBLE) 之后刷新

android - 我可以在代码中显式启动 NotificationListenerService 而不是由操作系统为我启动它吗?