最近,在对公司内部 Android App 进行包大小(pkg_size)持续监控时发现一个奇怪的现象。说明问题之前,先描述下背景。

在公司内部,持续集成性能测试系统会根据业务需求,对各个分支的代码采用不同的监控策略,包括定时触发执行性能测试,以及按照代码提交执行性能测试。

其中,UC 浏览器中文版/projects/cn/10.9.10分支采用的是定时触发监控策略,持续集成性能测试系统每天会将该分支最新 Revision 的代码集成打包成 apk 后执行各项 App 性能测试,包括启动时间、内存、包大小等等。

奇怪的地方在于,最近几天/projects/cn/10.9.10分支都没有新的代码提交,即每天定时触发时打包用的都是同一份代码,但是监控得到的包大小却是波动的,波动情况如下图所示。

虽然波动范围不大,只有 2KB 左右,但是这还是令人费解。理论上,完全相同的代码,打包得到的 apk 应该也是完全相同的啊,为什么包大小会存在差异呢?

针对这个疑问,我请教了一些同事,得到的解释中包含两个可能的原因。

对于这两个解释,我都还没有去验证,不知论坛中的前辈们是否之前有遇到过这个问题,还请多多指点。


↙↙↙阅读原文可查看相关链接,并与作者交流