关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。
怀着学习和膜拜的心情进去Github围观,结果发现很多人提了 Issue 说各种各样的机子无法成功保活。
看到这里,我瞬间就放心了。坦白的讲,我是真心不希望有这种黑科技存在的,它只会滋生更多的流氓应用,拖垮我大 Android 平台的流畅性。
那么,什么样的应用需要进程保活?通常情况下,即时通讯类的应用(包括IM聊天应用、消息推送服务等)为了保证消息的全时、实时送达能力,必须要实现进程或Service的保活。而就这一看似不起眼的问题,实际处理起来,因为众多Android手机和Android系统版本的差异,让问题的处理充满了不确定性。
本文将详细介绍关于进程保活的知识,但提前声明以下四点:
本文是本人开发 Android 至今综合各方资料所得;
不以节能来维持进程保活的手段,都是耍流氓;
本文不是教你做永生不死的进程,如果指望实现进程永生不死,请忽略本文;
本文有错误的地方,欢迎留下评论互相探讨(拍砖请轻拍)。
保活手段
当前业界的Android进程保活手段主要分为 黑、白、灰 三种,其大致的实现思路如下ÿ