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

4

HOME,就是主界面

HIDDEN_APP

7

被隐藏的程序

CONTENT_PROVIDER

14

内容提供者

EMPTY_APP

15

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

更多相关文章

  1. N 个小程序开发视频免费下载
  2. Android(安卓)App异常检测及处理
  3. TL-android通过USB使用真机调试程序
  4. Eclipse启动失败Android(安卓)sdk content loader 0%的四种解决
  5. 关闭android studio自动存档功能
  6. Android安全模型
  7. Android(安卓)应用程序分析之Settings
  8. [Android分享] Android(安卓)Manifest.xml里内容介绍
  9. 深入理解 Android(安卓)的 IPC 机制--------Binder

随机推荐

  1. android下jni开发
  2. Android(安卓)事件拦截机制一种粗鄙的解
  3. 拥抱Android(安卓)Studio:从Eclipse到Andr
  4. Android(安卓)自定义音乐播放器实现
  5. android 关于使用androidStudio开发串口
  6. Android(安卓)中的 adapter
  7. Android十岁了,它是如何逆袭成全球最多人
  8. 为android开放类增加自定义成员方法[转]
  9. Android(安卓)UI 之 TabLayout动态添加ta
  10. Android嵌入式启动篇