booster
booster copied to clipboard
resources.arsc 优化
booster-task-compression对resources.asrc的优化,修改了其对应ZipEntry的method,这个对应运行时性能是否有影响? 有讨论resources.arsc压缩会影响性能吗? 、 Google I/O 2016 笔记:APK 瘦身的正确姿势
另外,美团对resources.asrc优化提出其他手段: 1.删除基于ZipEntry.crc的重复资源优化(Booster基于资源名收集重复资源) 2.无用资源优化
后期是否考虑这两个优化点?
我这边基于Booster,实现了这两个优化点,详见RemoveRepeatResourceVariantProcessor
关于冗余资源,Booster是基于名字保留density最大的,删除同名的其他不同 density 的资源,冗余 != 相同
完全相同的重复资源一般情况下不会太多,之前有做过去除重复的assets,因为大多数项目都用不着,所以没开源,如果这个需要反馈比较强烈可以考虑提高优先级
无用资源优化已经在 TODO 里了
欢迎 PR 两个优化点 👏,可以做为一个独立的模块
大佬无用资源优化 什么时候能开源下呢
这个移除无用asset能开源吗 大佬或者提供下思路
这个移除无用asset能开源吗 大佬或者提供下思路
编译时计算所有的 assets 的 md5sum 找出相同的,并删除多余的,仅保留一份,将所有相同的 asset path 映射到保留下来的那个 path,然后在字节码层面拦截对 AssetManager 的调用,将对已剔除的 asset 访问转接到保留下来的 asset