对于安卓开发者来讲,应用体积显然是影响用户下载意愿以及留存状况的关键因素之一,于现如今竞争激烈的应用市场里,用户针对应用的下载决策以及后续的使用留存,很大程度上会被应用体积大小所影响,TP2025新版本在优化APP体积层面提出了一些新思路,试图借由创新的方式去解决这一重要问题,不过,这些新思路所产生的实际效果究竟怎样,以及在实际落地进程中所涉及的成本情形,仍需进行谨慎评估。勿只因有新思路便盲目乐观,需广泛、精细地权衡其或引发的各类影响。之后我会于几个具体层面讲讲我的观察。
其主打方向是资源压缩与动态化,新版本着重强调采用像AVIF这样更为高效的图片格式,同时积极推动非核心功能模块的动态下发,这一举措确实能有效减小初始包的大小,然而,在实际项目中,AVIF的解码兼容性以及动态模块的加载失败率却带来了额外的适配与稳定性成本。
代码以及依赖的优化被进一步地强化了,它鼓励着去使用R8全模式进行混淆,并且要分析移除那些未被使用的代码库。然而,在大型的混合开发项目当中,激进地进行剪裁很容易引发运行时反射调用失败的情况,而其排查的难度反而有可能拖慢整体的进度。
是另一亮点的为针对Asset资源之物智能管理,其目的在于依据分辨率来分发资源。理想诚然丰满,然而面对市面上繁杂的设备分档以及厂商所定制的系统,要去维护多套资源并且保证精准分发,其之中的运维复杂度搞不好会让小团队望而却步的 。
TP2025的方案于技术方面具备前瞻性,然而却并非“银弹”,各个团队的技术储备以及业务形态存有极大差异,盲目跟从或许会适得其反,你的团队在体积优化里遭遇过哪些具体的坑,是否存在更务实的经验能够分享 ?