3

Android Lollipop にはいくつかの新しいクラスが導入されており、そのうちの 1 つが VectorDrawable です。VectorDrawable にはパフォーマンス上の欠点があることを知っているので、ビットマップ イメージに対して VectorDrawable を使用するのが適切になるのはいつかと思っていました。VectorDrawable の唯一の利点はスケーラビリティですが、パフォーマンスが犠牲になります。では、パフォーマンスが優先される場合、VectorDrawable を使用できるのはいつですか? パフォーマンスの低下が大きすぎますか?

4

2 に答える 2

2

VectorDrawable (BitmapDrawable と比較して) には、最初の描画パフォーマンスのオーバーヘッドしかないことに注意してください。最初のフレームで VectorDrawable が表示された後、フレームワークはビットマップ キャッシュを持ちます。それ以降、サイズが変わらない限り、その VectorDrawable のすべてのパフォーマンスは BitmapDrawable と同じになるはずです。

VectorDrawable は、全画面サイズのような巨大な背景画像にはお勧めできませんが、サイズが通常 200dp x 200dp よりも小さいボタンやアイコンにはお勧めできません。あまり性能を気にせず使えるはずです。

于 2016-11-04T20:46:37.853 に答える
2

「パフォーマンスの低下」が存在する場合は、許容できると思います。フレームごとに大量のベクター型ドローアブルを作成していないことを願っています。おそらく、VD を一度ロードし、それをドローアブルにキャストすると、その時点でベクター ドローアブルは必要なくなります。

実際に問題を引き起こす可能性があると私が見ることができる唯一のことは、ばかげた量のそれらを一度にロードしている場合です. しかし、なぜですか?その時点で、プレサイズのスプライト シートのようなものです。

于 2014-12-31T22:36:06.960 に答える