跳到主要内容

尽量做到不轻易被杀死

如何提升进程的优先级(尽量做到不轻易被杀死) (1)采取在锁屏时候,启动一个1像素的Activity,当用户解锁后将这个Activity结束掉(顺便同时把自己的核心服务再开启一次)。

背景:小米手机会在锁屏的时候,把所有程序全部杀死,为了省电。

(2)app运营厂商和手机厂商有合作关系--白名单

(3)双进程守护,防止单个进程被杀死,同时可以防止被第三方清理软件清理掉。一个进程被杀死,另外一个进程又被它启动。相互监听启动。 设想?假如两个都被杀死了怎么办?

通过分析源码,可以得出:系统杀进程是一个一个杀的。所以这种方式本质上就是和杀进程时间赛跑。

(4)JobScheduler

把任务加到系统调度队列中,当到达任务窗口期的时候就会执行,我们可以在这个任务里面启动我们的进程。这样可以做到奖金杀不死的程序。

(5)监听QQ,微信,系统应用,友盟,小米推送等等的广播,然后把自己启动了。

(6)利用账号同步唤醒机制唤醒我们的进程,AccountManager

(7)NDK来解决,Native进程来实现双进程守护