转载

apk 瘦身系列⑦:图片优化、Shape 和 VectorDrawables

作者: rain 分类:移动 发布时间: 2016-03-11 22:43 ė 13 次浏览 6 条评论

普通的图片格式资源 JPEG、 PNG 和 WebP 非常适合某些类型的资源,但是他们有两个主要的缺点–所占用的空间和需要多个图片来适配不同的屏幕密度。所以为了避免这些缺点,对于一些特定类型的图标和 UI 元素可以使用 XML 的方式来创建基本形状 drawable。

Shape Drawable

从 Android 发布就支持 Shape drawable。在 xml 文件中定义基本的形状,比如 矩形、圆形、椭圆、线和弧形。非常适合定义简单的背景和装饰图标。并且还支持渐变色、圆角和轮廓线特效。

drawable 可以用在 android:background 或者 android:src 属性。详细使用文档 参考这里 。

VectorDrawables

从 API level 21 (Lollipop) 开始, Android 使用 VectorDrawable 支持矢量图。 VectorDrawable 非常适合图标。

VectorDrawable 是独立于屏幕密度的,一个文件适合所有屏幕。当缩放的时候还可以保存所有的图片质量,通常文件所占用的空间也非常小。 使用 VectorDrawable 可以大幅度的减少 apk 的尺寸。

虽然 VectorDrawable 是从 android 5.0 开始支持的, 但是最新的 AppCompat 库(23.2)通过使用 VectorDrawableCompat 可以支持在 android api 7+ 版本上使用矢量图。关于 VectorDrawable和兼容性方案请参考如下文章:

VectorDrawable 详解

AnimatedVectorDrawable 详解

VectorDrawable 和 AnimatedVectorDrawable 的兼容性问题

Android Support Library 23.2

本文出自 云在千峰,转载时请注明出处及相应链接。

本文永久链接: http://blog.chengyunfeng.com/?p=894

原文  http://blog.chengyunfeng.com/?p=894
正文到此结束
Loading...