Android SVG认知误区?

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/128907538
本文出自【赵彦军的博客】

文章目录

  • 前言
  • 为什么svg 在编译期间,会自动生成多份图片?
  • 优化
  • 建议

前言

为了更好的视觉效果,经常在项目中使用了 svg (可缩放矢量图形),如下:

Android SVG认知误区?_第1张图片

查看包体积:

查看apk 包体积,可以看到在 xhdpi、xxhpdi、xxxhpdi 分别生成了图片,并且有的比较大。
Android SVG认知误区?_第2张图片

为什么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

Android SVG认知误区?_第3张图片

优化

把所有 大svg 换成 png , 最后压缩成 webp , 包体积减小 0.7M

建议

1、不是排斥所有的svg , 有些 svg 本身很小,只有几b,即时生成多份 png 也会很小,对整体影响不大。所以要特别注意 大 svg ,避免滥用。

你可能感兴趣的:(android,android,studio,ide)