网上有好多文章介绍app service 持续空闲30分钟后被回收,是因为app service脱离了可视组件的绑定,就被系统认为是空闲了,可是我们需要开发app service完全和可视组件没关系的deamon 服务,那么目前只有一招了,就是设置一下applicaton的属性:
android:persistent="true"
这个是需要system uid的:
android:sharedUserId="android.uid.system"
以上测试OK,超过30分钟不会被回收,但还有个容易被忽略的问题,如果service设置了android:process=":remote",那么applicaton的android:persistent="true"对这个独立进程的service就不起作用了,此时service超过30分钟依然会被回收。
这个细节最近才发现,做下笔记。
大家有什么更具体的见解欢迎留言讨论,谢谢!