Android中的进程保活

最近在看AIDL相关的知识,无意间看到一篇进程保活的文章,正好涉及到了进程相关的内容。顺便学习一下。

原文地址Android中的进程保活

一、什么是进程保活

进程保活可以理解为让一个进程最大程度不被杀死,或者杀死后第一时间复活。

二、进程的划分

1、活动进程

优先级最高,用户正在操作的程序,是前台进程,并且可操作。

2、可见进程

次高优先级,用户看得见,但是不能直接操作。

3、服务进程

第三优先级,没有界面,一直运行在后台,优先级不高。当系统内存不足时会被杀死,当内存再次充裕时会再次开启。

4、后台进程

低优先级,用户按下home键或者back键后,程序本身看不到,但是其实还是运行的程序。如Activity按下onPause方法,系统可能随时终止它们,回收内存。

5、空进程

优先级最低,某个进程不包含任何活跃的组件,该进程就会被置为空进程,完全没用,系统会第一时间回收。

三、进程保活的方法

1、开启一个像素Activity

在手机屏幕关闭的时候,开启一个像素Activity,保证进程活跃。

2、前台服务

3、相互唤醒

比如手机里安装了阿里系的app,打开其中任何一个,都可能会唤醒其它的app。

4、JobScheduler

5、粘性服务与系统捆绑服务

四、进程保活策略

进程保活包括两个层面,一个是提高进程优先级,降低被杀死的概率。一个是在进程被杀死后,立即拉活。

 

五、Android进程回收策略

Android对于内存的回收,主要依靠LowmemoryKiller来完成,是一种根据OOM_ADJ阈值级别触发的内存回收机制。

 

你可能感兴趣的:(个人总结)