我的服务总是等待足够长的时间:Kitkat中的ServiceRecord错误

时间:2014-02-02 15:39:15

标签: android android-4.4-kitkat

我有一个后台服务,它在kitkat中运行总是等待足够长的时间:logcat中的ServiceRecord消息。但在之前版本的Android中,我的应用程序运行顺畅,没有任何问题。

有时我的服务会在Kitkat中被自动杀死。

1 个答案:

答案 0 :(得分:11)

这是由ActivityServices的“Serialize running of background services”修改引起的。

  

实施#10744011:序列化后台服务的运行   添加了一些代码给活动管理器以跟踪   正在启动并限制可以的数量的服务   同时发起。这只是发挥作用   具体情况:服务启动时是后台   请求(因此时间并不重要),而且其过程不是   已经高度优先运行。

     

在这种情况下,我们有一个当前的服务列表   发射,当它变得太大时,我们开始推迟   推出未来的服务直到目前正在推出的服务   结束。

     

这有一些重要的调整参数:有多少   我们允许同时启动的后台服务(目前   1在低ram设备上,3在其他设备上),以及我们多久   在考虑它之前等待后台服务运行   一个更长期运行的服务,继续下一个待定   发射(目前设定为15秒)。

https://github.com/android/platform_frameworks_base/commit/9210bc85545f31973c957b5179e6a82d05f473c6