Tinder 借助新的 R8 配置分析器将应用冷启动时间减少... 笔记

Tinder 借助新的 R8 配置分析器将应用冷启动时间减少了 47%

Tinder 庞大的 Android 应用代码库面临严峻的优化挑战,其中约 70% 的代码未得到优化,且存在大量 dex 文件。由 R8 启用的 keep 规则意外地阻碍了优化进程,而违规者却难以明确识别。为应对启动缓慢及用户感知的 ANR(应用无响应)问题,Tinder 采用了 R8 配置分析器(R8 Configuration Analyzer)。该工具帮助其精准定位并移除非预期的优化阻碍,从而实现了立竿见影的改进。具体而言,Tinder 将应用冷启动时间减少了 47%,下载体积降低了近 29%,用户感知的 ANR 数量下降了 28%。配置分析器通过追踪缩小(shrinking)、优化(optimization)和混淆(obfuscation)得分,识别出可优化的领域;它揭示了广泛的、冗余的或过时的 keep 规则,包括来自外部库的规则。Tinder 发现,其内部库中存在一条范围过宽且未加限定的 keep 规则,严重阻碍了优化。对该规则进行精细化调整后,释放了显著的性能提升,使 R8 得分从 28% 跃升至 50%。这些改进减少了 DEX 文件数量,对用户参与度产生了积极影响,尤其在资源受限的设备上表现更为明显。此后,Tinder 已将优化监控集成至其 CI/CD 流水线中,以防止未来出现性能回退。