android 内存管理概要

来源:互联网 发布:sim卡apdu数据 编辑:程序博客网 时间:2024/05/16 13:38

一、zram

zram swap 主要原理就是从内存分配一块区域出来用作 swap 分区,每次如果内存空间不够了,不是把应用程序杀掉,而是把应用程序所占用的内存数据复制到 swap 分区,等切换回来的时候就可以直接把这部分数据恢复到内存当中,节省重新开启所需的时间。而被放到 swap 分区的应用程序,所占用的内存都是被压缩过的,比如,微信在普通内存中占用 50 MB 的空间,如果压缩率为 0.4,则放到 swap 分区里面的数据只需要 20 MB 的空间,这样 swap 分区里面就可以存放更多后台临时不用的应用程序,变相扩展了内存的大小。

        zram 块设备驱动结构:

驱动部分

该部分创建了一个块设备,然后提供了处理 IO 请求的接口;

数据流操作部分

该部分主要提供串行或者并行的压缩和解压操作;

解压缩算法部分

该部分主要是一个个压缩和解压算法,每个算法都提供统一的压缩和解压接口给数据流操作部分调用。

二、lmk

       进程等级:空进程、后台进程、内容提供点、可见进程、前台进程、NATIVIE进程

       杀进程原则:选优先级最大的、其次选内存占用量最大的、然后kernel释放SIGKILL信号

0 0