转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/128907538
本文出自【赵彦军的博客】
文章目录
- 前言
- 为什么svg 在编译期间,会自动生成多份图片?
- 优化
- 建议
前言
为了更好的视觉效果,经常在项目中使用了 svg (可缩放矢量图形),如下:
查看包体积:
查看apk 包体积,可以看到在 xhdpi、xxhpdi、xxxhpdi 分别生成了图片,并且有的比较大。
为什么svg 在编译期间,会自动生成多份图片?
Android5.0(即API21)开始支持SVG, 生成多份图片是为了向后兼容。
对于 minSDK < 21 , 会自动生成多份图片,而我的项目 minSDK 为 20 ;
minSDK >= 21 , 只会保留xml ,不会生成多份图片。
附上svg 官方文档:https://developer.android.com/studio/write/vector-asset-studio?hl=zh-cn
优化
排查 wkLiving 模块,把所有 大svg 换成 png , 最后压缩成 webp , 包体积减小 0.7M
建议
1、不是排斥所有的svg , 有些 svg 本身很小,只有几b,即时生成多份 png 也会很小,对整体影响不大。所以要特别注意 大 svg ,避免滥用。