Android进程保活的常用方法
进程保活和去保活,一直是一个热门的讨论话题,先看一下保活方法
方法1:APP内部提升优先级
Perceptible(用户可以感受到其运行的(如后台运行的music playback),
1)在服务的oncreate添加 startForeground(1, new Notification()); (这种需要常驻通知,如mtkloger、music等)
2)还有另外一种方法,就是am.setProcessForeground/setProcessImportant(mForegroundToken, pid, true)直接设置其是前台的)(这个不会有通知,Android S需要SET_PROCESS_LIMIT权限)
Persistent(系统预置应用 + android:persistent=“true”) 常驻进程,优先级比前台还高,一般不建议
方法2:针对adj的调整(系统)
computeOomAdjLSP的最后面修改
adj = ***;//修改adj
adjType = “***”;//修改adjType
// keep it out of the cached vaues.
state.setCurAdj(psr.modifyRawOomAdj(adj));
方法3:不让系统kill掉(系统)
- lmkd里面加入拦截,不杀死某个应用
- 系统API forcestop、kill加入拦截
- Process.kill**等sendSignal中加入拦截、或者更底层的拦截
方法4:依赖关系保活(系统或者app都可以使用, Android上Foreground/Visible等高优先级

本文详细阐述了Android应用如何通过提升优先级、系统调整、防止被kill、依赖关系保持和相互拉起等多种方法实现进程保活,涉及系统API和优先级管理的深入解析。
最低0.47元/天 解锁文章

900

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



