-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
附录4:APP怎么保活(杀不死)?
chenxuyong edited this page Feb 23, 2022
·
8 revisions
via:https://github.com/sinyu1012/AndroidKeepAlive/blob/main/README.md
- 什么是保活?保活就是在用户主动杀进程,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀的命运或者被杀后能立刻重生的手段。
- 为什么保活:赢得在线时长、实时需求
进程的优先级分为5级(https://zhuanlan.zhihu.com/p/108312672):
- 前台进程
- 可见进程
- 服务进程
- 后台进程
- 空进程
- 提升进程优先级,降低被杀概率
- 进程被杀后,重新拉起进程
- startForeground 启动前台服务【官方提供,会有通知,保活性不高】
- 进阶点:开启前台Service
- 多任务列表窗口加锁【用户自行设置】
- 多任务列表窗口隐藏App【APP的
通用设置
→不在最近任务列表中显示
】 - [] 多个app关联唤醒【目前不支持,用户自行通过其他方式定时启动APP】
- 忽略电池优化开关【APP的
通用设置
→忽略电池优化设置
,适用于Android 6.0+
】 - [] 无障碍服务,https://developer.android.com/guide/topics/ui/accessibility/service?hl=zh-cn
- 应用自启动权限(各个系统不一样)【APP的
通用设置
→开机启动
】 - [] QQ 的 1 像素(可以使进程的优先级在屏幕锁屏时间由4提升为最高优先级1
- [] 后台无声音乐
- [] 双进程保活,6.0之前
- [] Tim 流氓保活方案,开源库:https://github.com/tiann/Leoric
- [] 终极方案:跟各大系统厂商建立合作关系,OOM_ADJ https://www.jianshu.com/p/8897b7e47466 【此路不通,没有门路搞这个!】
- 配置定时执行adb命令
PS.打勾【✔】表示目前已经支持