Android--LowMemoryKiller知识点补充

Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .

    1、引入原因:

       Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。

       一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。

       随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系统内存低于某值时,清除相关的程序,保障系统保持拥有一定数量的空闲内存。

    2、基本原理和重要概念:

       Low memory killer根据两个原则,进程的重要性和释放这个进程可获取的空闲内存数量,来决定释放的进程。

  Android根据进程的重要性分成以下几类,按照重要性依次降低的顺序:

名称     

 oom_adj 

解释

FOREGROUD_APP 

0

前台程序,可以理解为你正在使用的程序

VISIBLE_APP

1

 用户可见的程序

SECONDARY_SERVER

2

 后台服务,比如说QQ会在后台运行服务

HOME_APP  

  HOME,就是主界面

HIDDEN_APP 

被隐藏的程序

CONTENT_PROVIDER 

14

内容提供者

EMPTY_APP  

15

空程序,既不提供服务,也不提供内容

原文地址:https://www.cnblogs.com/wahy/p/5082404.html