保活概述
什么是保活?保活就是在用户主动杀进程,或者系统基于当前内存不足状态而触发清理进程后,该进程设法让自己免于被杀的命运或者被杀后能立刻重生的手段。
保活是”应用的蜜罐,系统的肿瘤“,应用高保活率给自己赢得在线时长,甚至做各种应用想做而用户不期望的行为,给系统带来的是不必要的耗电,以及系统额外的性能负担。
保活方案一直就层出不穷,APP开发们不断地绞尽脑汁让自己的应用能存活得时间更长, 主要思路有两个:
- 提升进程优先级,降低被杀概率
①比如监听SCREEN_ON/OFF广播 启动一像素的透明Activity
②启动空通知,提升fg-service - 进程被杀后,重新拉起进程
①监听系统或者第3方广播拉起进程。目前安全中心/Whetstone已拦截
②Native fork进程相互监听,监听到父进程被杀,则通过am命令启动进程。force-stop会杀整个进程组,几乎很难生效
保活案例
这是在2017年发现一款办公协作应用,在