保活方法
序号 | 保活方法 | API限制 | 效果&原理 |
---|---|---|---|
1 | 正常的开启前台Servce | 无限制 | 启动前台Service伴随着Notification,如正在播放音乐、正在导航,系统默认给进程高优先级 |
2 | 正常弹出悬浮窗 | 无限制 | 展示用户可见的窗口,如一键清理火箭,系统默认给进程高优先级 |
3 | 设置persistent=true | 无限制 | 成为系统常驻进程 |
4 | 启动前台Service传入无意义Notification | API<=17 | 利用系统漏洞,不展示Notification但享受前台Service优先级待遇 |
5 | 启动两个相同id前台Service,stop后者 | 18<=API<=24 | 同上,享受前台Service优先级待遇 |
6 | native层保活 | API<=23 | 进程互保,通过文件锁监听死亡,如果死亡则拉起 |
7 | 桌面放置一像素页面 | 未知 | 享受可见进程优先级待遇 |
8 | 静态注册系统常用广播 | 未知 | 满足权限的前提下,收到广播前进程会被拉起 |
9 | 进程Service/Provider互绑 | 无限制 | 效果并不好,forceStop下等场景无法存活,只是procState优先级很高 |
10 | AlarmManager/JobScheduler | 未知 | 守护服务,如果被守护进程死亡则拉起 |
11 | 账户同步 | 未知 | Android原生机制会定期唤醒账户更新服务 |