一、常见保活方案
**1、监听广播:**监听全局的静态广播,比如时间更新的广播、开机广播、解锁屏、网络状态、解锁加锁亮屏暗屏(3.1版本),高版本需要应用开机后运行一次才能监听这些系统广播,目前此方案失效。可以更换思路,做APP启动后的保活(监听广播启动保活的前台服务)
**2、定时器、JobScheduler:**假如应用被系统杀死,那么定时器则失效,此方案失效。JobService在5.0,5.1,6.0作用很大,7.0时候有一定影响(可以在电源管理中给APP授权)
**3、双进程(NDK方式Fork子进程)、双Service守护:**高版本已失效,5.0起系统回收策略改成进程组。双Service方案也改成了应用被杀,任何后台Service无法正常状态运行
**4、提高Service优先级:**只能一定程度上缓解Service被立马回收
二、保活
- 1、AIDL方式单进程、双进程方式保活Service
- 2、降低oom_adj的值:常驻通知栏(可通过启动另外一个服务关闭Notification,不对oom_adj值有影响)、使用”1像素“的Activity覆盖在getWindow()的view上、循环播放无声音频(黑科技,7.0下杀不掉)
- 3、监听锁屏广播:使Activity始终保持前台
- 4、使用自定义锁屏界面:覆盖了系统锁屏界面。
- 5、通过android:process属性来为Service创建一个进程
- 6、跳转到系统白名单界面让用户自己添加app进入白名单
三、保活的另类出路
我们知道现在很多应用都想开启自启动权限,这样应用就可以保活很久了了,不过只要有了自启动权限之后应用首先是不会杀死,然后也可以重启,真的是完完全全的保活了,那么其实权限这个事情我们肯定是做不了了,所以我们可以想其他的方案,比如我们

本文详细介绍了Android应用的各种保活方案,包括监听广播、定时器、Service保活等,并探讨了保活的另类出路——一像素Activity。通过监听系统广播启动前台服务,结合自定义锁屏界面、降低oom_adj值等手段,提高应用存活率。在Android系统逐步限制后台服务启动的背景下,一像素Activity方案提供了一种新的保活思路。
最低0.47元/天 解锁文章

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



