经过安装包重排布优化 Android 端启动性能

1. 前言缓存

本章节咱们将围绕《支付宝 App 构建优化解析》另启新系列,细分拆解客户端在“代码管理”、“证书管理”、“版本管理”、“构建打包”等维度的具体实现方案展开讨论,带领你们进一步了解支付宝在 App 构建模块下的持续优化。性能优化

本节将主要记录经过对支付宝 Android Apk 文件的从新布局,来改善 IO 性能的过程。布局

2. 背景性能

支付宝 App 在 Android 平台上,因为大量业务快速上线,Android 长尾机型等缘由,形成启动阶段及部分核心链路上,性能体验不理想,进而影响用户的使用的感觉。
从纯业务角度,能够经过优化 UI 布局,优化代码结构,优化 bundle 加载等方式,对性能体验有所改善。做为工程技术团队,按照传统思惟来看,彷佛没法对性能优化作多少贡献。通过一些方案调研后,咱们尝试经过对编译产物的优化,干预构建流程,以提高 App 性能。优化

3. 原理blog

布局先后,Apk 中实际的文件并无本质改变,只有位置发生了变化。那么为何这样的调整会有性能形成影响?这个原理要追溯到 Linux 的文件系统机制。进程

以下图所示,Linux 底层文件系统中 VFS 上次 App 进程之间,存在一层 pagecache,pagecache 由内存中的物理 page 组成,其内容对应磁盘上的 block。Pagecache 的大小是动态变化的,能够扩大,也能够在内存不足时缩小。Cache 缓存的存储设备被称为后备存储(backing store),一个 page 一般包含多个 block,这些 block 不必定是连续的。内存

011c084a6b328a32fbb2ce5135b811e7a2826acc

相关文章
相关标签/搜索