Android 应用保活思路
1.进程优先级思路
1.1 Service技巧
1.1.1 onStartCommand返回START_STICKY
1.1.2 onDestroy中startself
1.1.3 Service后台变前置,setForground(true)
1.1.4 双service(通知栏) 提高进程优先级
1.1.5 监听系统广播,如开机,锁屏,亮屏等重新启动服务
1.1.6 alarm定时器,启动服务
1.2. 守护进程/进程互拉
1.2.1 多个java进程守护互拉
1.2.2 NDK fork拉活:底层C守护进程拉起App上层/java进程
例如Git hub中 Android-Daemon-Keeper
一般结合START_STICKY属性和1像素Activity提升优先级
1.3 Activity 1像素保活
2.系统机制
2.1 广播拉活(App基本无效了)
2.2 账户同步拉活(保活稳定,时间App不可控)
系统在将APP帐户同步时,自动将未启动的APP进程拉活