2016-08-05 18 views
7

使用vector drawables与使用Android系统图标的一组.png有什么优缺点?在Android中使用矢量绘图和一组.png图标有什么区别?

如果它们是针对两种不同的东西,那是什么?

+0

Afaik,矢量缩放,同时保持其原始比例。有趣的问题,我想亲自看到这个答案。 – Vucko

+0

这里,在“关于SVG文件的注意事项”下:https://developer.android.com/studio/write/vector-asset-studio.html – Shaishav

回答

3

一个PNG是一个压缩图像。它有一个固定的大小,如果你想让它变大或变小,它需要复制或删除数据。太大或太小,看起来不正确(太大太差太小)。

矢量绘制是一系列命令,告诉它如何绘制东西。这些命令可以缩放,因此一个良好执行的矢量可绘制在1000x1000上看起来与在100x100时一样好。

一个PNG的优点是它容易做和相对较快的性能。矢量绘制较慢(您必须执行这些命令)并且难以创建一个好的。但它的规模更好。如果不需要缩放,png可能就是你想要的。如果是这样,你可能需要一个向量。

另请注意,某些类型的图像比其他类型的图像更适用于矢量 - 图标很好地利用了矢量。照片不起作用。

3

由于您只有1个图像vs在不同文件夹中有多个图像,因此矢量绘图可以缩小apk的大小。他们还很好地进行缩放这就是为什么你只需要创建1个矢量绘制

的缺点载体,他们是一点点的性能严重,因此你应该在一些地方

0

除了缩放使用它们,空间因素,使用矢量绘图可以实时地播放和修改绘图的矢量信息,这意味着您可以执行诸如变形等操作(如变形图形)。对于一组PNG,你有一个静态表示,这就是你不能玩的形式,因为它们只是静态位图(除非你对它们做了棘手的事情)。检查出this example of path morphing为了知道你能得到什么。请记住,使用一组PNG可绘制对象交换灵活性和空间速度,使用矢量可绘制对象可以获得灵活性和空间,但会损失速度(因为向量转换是CPU密集型任务,与位图缩放相反)。

相关问题