网上有好多文章介绍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分钟依然会被回收。
这个细节最近才发现,做下笔记。
大家有什么更具体的见解欢迎留言讨论,谢谢!
本文探讨了AppService在脱离可视组件后如何避免被系统回收的方法。通过设置application属性android:persistent=true并使用systemuid,可以实现服务的持续运行。然而,若服务配置为独立进程,此策略将失效。文章记录了这一细节,并邀请读者分享更多见解。
1481

被折叠的 条评论
为什么被折叠?



