2016-08-05 47 views
7

Was sind die Vor- und Nachteile bei der Verwendung vector drawables im Vergleich zu einer Reihe von .png für Android-System-Symbole?Was ist der Unterschied zwischen der Verwendung von Vektorzeichen und einer Gruppe von .png für Symbole in Android?

Wenn sie für zwei verschiedene Dinge gedacht sind, was sind das?

+0

Afaik, Vektoren Skala unter Beibehaltung ihrer ursprünglichen Verhältnis. Interessante Frage, ich würde gerne selbst eine Antwort darauf sehen. – Vucko

+0

Hier, unter "Überlegungen für SVG-Dateien": https://developer.android.com/studio/write/vector-asset-studio.html – Shaishav

Antwort

3

Ein PNG ist ein komprimiertes Bild. Es hat eine feste Größe. Wenn Sie versuchen, es größer oder kleiner zu machen, müssen Sie Daten duplizieren oder entfernen. Zu groß oder zu klein und es sieht nicht richtig aus (zu groß ist schlimmer als zu klein).

Ein Vektor, der gezeichnet werden kann, ist eine Reihe von Befehlen, die ihm sagen, wie man etwas zeichnet. Diese Befehle skalieren, so dass ein gut ausführbarer Vektor bei 1000x1000 genauso gut aussieht wie bei 100x100.

Der Vorteil eines Png ist seine einfache und relativ schnelle Leistung. Ein Vektor, der gezeichnet werden kann, ist langsamer (Sie müssen die Befehle ausführen) und schwieriger, um einen guten zu erstellen. Aber es skaliert besser. Wenn Skalierung nicht benötigt wird, ist wahrscheinlich ein PNG, was Sie wollen. Wenn dies der Fall ist, möchten Sie vielleicht einen Vektor.

Beachten Sie auch einige Arten von Bildern funktionieren besser für Vektoren als andere - ein Symbol ist eine gute Verwendung eines Vektors. Ein Foto würde nicht funktionieren.

3

Vektor Drawables reduzieren die Größe Ihrer apk, da Sie nur 1 Image vs haben mehrere in verschiedenen Ordnern. Sie ist auch sehr gut skalieren, weshalb Sie nur 1 Vektor sind ziehbar

Der Nachteil Vektoren erstellen müssen, dass sie ein wenig Leistung schwer sind, so dass Sie sie in ein paar Orte

0

Abgesehen von der Skalierung verwendet werden soll und Raumfaktoren, mit Vektorzeichnern können Sie in Echtzeit die Vektorinformation der Zeichnungsobjekte abspielen und verändern, das heißt, Sie können zum Beispiel Dinge wie Transformationen (wie das Morphing einer Figur) tun. Mit einer Reihe von PNGs haben Sie eine statische Darstellung und das ist alles, Sie können nicht mit den Formularen spielen, weil sie nur statische Bitmaps sind (es sei denn, Sie machen knifflige Dinge mit ihnen). Schauen Sie sich this example of path morphing an, um zu wissen, was Sie bekommen können. Denken Sie daran, dass Sie mit einer Reihe von PNG-Zeichen die Flexibilität und den Platz mit der Geschwindigkeit tauschen. Mit Vektor-Zeichen erhalten Sie Flexibilität und Platz, aber Verlustgeschwindigkeit (weil Vektorumwandlungen CPU-intensive Aufgaben sind - im Gegensatz zur Bitmap-Skalierung).