DIFF.BLOG
New
Following
Discover
Jobs
More
Suggest a blog
Upvotes plugin
Report bug
Contact
About
Sign up  
Booster Assets 去重
1
·
Johnson Lee
·
June 22, 2019, midnight
Summary
一般 assets 出现大量重复的情况是不多见的,只有多业务线的大体量 APP 才有可能遇到。然而非常不幸的是,我们就遇到了这样的问题,虽然对包体积的影响不是很明显(也就几百 KB),但是几百 KB 对于做包体积优化的同学来说,蚊子肉也是肉啊。 去重的关键在于拦截对 assets 的访问,没错,就是 AssetManager ,Booster 的方案就是通过 Transformer 替换 AssetManager 的方法调用指令为 Booster 注入的 ShadowAssetManager ,不啰嗦了,先上代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public final class ShadowAssetManager { private static final Map<String, String> DUPLICATED_ASSETS = new ArrayMap <String, String>(); public static InputStream open ( fin...
Read full post on johnsonlee.io →
Submit
AUTHOR
RECENT POSTS FROM THE AUTHOR