使用的利弊是什么? vector drawables
与使用一组 .png
对于Android系统图标?
如果它们是针对两种不同的东西,那是什么?
使用的利弊是什么? vector drawables
与使用一组 .png
对于Android系统图标?
如果它们是针对两种不同的东西,那是什么?
png是压缩图像。它具有固定的大小,如果您尝试使其变大或变小,则需要复制或删除数据。太大或太小,看起来不正确(太大比太小更糟)。
矢量drawable是一系列命令,告诉它如何绘制一些东西。这些命令可以缩放,因此执行良好的矢量drawable在1000x1000处看起来和在100x100处一样好。
png的优点是易于操作且性能相对较快。矢量drawable较慢(您必须执行命令)并且更难创建一个好的命令。但它更好地扩展。如果不需要缩放,可能就是你想要的png。如果是,您可能需要一个向量。
还要注意某些图像对于矢量比其他图像效果更好 - 图标可以很好地利用矢量。照片不起作用。
矢量drawables减小了你的apk的大小,因为你只有1个图像vs在不同的文件夹中有多个。它们也可以很好地扩展,这就是为什么你只需要创建1个矢量drawable
向量的缺点是它们的性能稍差,所以你应该在几个地方使用它们
除了缩放和空间因素,使用矢量绘图,您可以实时播放和修改绘图的矢量信息,这意味着您可以执行转换等操作(如变形图)。使用一组PNG,你有一个静态表示,就是这样,你不能使用表单,因为它们只是静态位图(除非你用它们做棘手的事情)。查看 这个路径变形的例子 为了知道你能得到什么。请记住,使用一组PNG drawables,您可以灵活地交换空间和速度,使用矢量绘图可以获得灵活性和空间,但损失速度(因为矢量转换是CPU密集型任务 - 与位图缩放相比)。