版本基于:Android R
0. 前言
Android Q 中新增了framework 端app 内存回收优化方案。当app 的 oom adj 发生特定变化时,framework 端会对应用的内存进行处理。随着版本的演变,这部分优化工作也一直在完善,笔者将针对 Android R 和 Android S 对该部分的优化流程分别进行详细地剖析。
本文针对 Android R。
注意:本文中提到的 “压缩” 这个词,其实指的是内存回收优化,因为只有到确切的逻辑的时候才明确到底是匿名页回收还是文件页回收,而在此之前我们暂定为 compact 处理。
1. CachedAppOptimizer 类
App 端的内存压缩管理是在 CachedAppOptimizer 类中完成。
我们在之前的博文《oom_adj 更新原理(1)》、《oom_adj