3

Android Lollipop 引入了几个新类,其中之一是 VectorDrawable。我只是想知道什么时候适合在位图图像上使用 VectorDrawable,因为知道 VectorDrawable 存在性能缺陷。VectorDrawable 的唯一特点是可伸缩性,这是以性能为代价的。那么,如果性能是优先级,我什么时候可以使用 VectorDrawable 呢?性能下降太高了吗?

4

2 回答 2

2

我认为“性能下降”(如果存在)是可以接受的。人们希望您不会每帧都创建大量的矢量可绘制对象。据推测,您将加载 VD 一次,将其转换为可绘制对象,此时不再需要矢量可绘制对象。

真的,我能看到的唯一会导致问题的事情是,如果您一次加载大量荒谬的内容。但你为什么要?那时,就像一个预先调整大小的精灵表。

于 2014-12-31T22:36:06.960 回答
2

请注意,VectorDrawable(与 BitmapDrawable 相比)仅具有初始绘制性能开销。在 VectorDrawable 出现的第一帧之后,框架将有一个位图缓存。从那时起,只要大小没有改变,VectorDrawable 的所有性能都应该与 BitmapDrawable 相同。

VectorDrawable 不推荐用于巨大的背景图像,如全屏尺寸,但用于尺寸通常小于 200dp x 200dp 的按钮和图标。您应该能够使用它而不必过多担心性能。

于 2016-11-04T20:46:37.853 回答