it-swarm.com.de

Warum mehrere Auflösungen für Android bereitstellen?

Da Android skaliert Bilder, warum müssen wir etwas anderes als die Zeichnungen mit der höchsten Auflösung bereitstellen?

Wenn Sie beispielsweise nur ldpi-Bilder haben, verkleinern Geräte, die mdpi verwenden, die Bilder im ldpi-Verzeichnis, wenn keine mdpi-Bilder bereitgestellt werden. Warum also überhaupt mdpi bereitstellen? Sollte es nicht einfach sein, überall hochauflösende Bilder für alles bereitzustellen?

4
jaxxon

Es gibt zwei Konzepte der Computertechnik, die Sie zuerst verstehen müssen.

Erinnerung

Der erste ist RAM (Direktzugriffsspeicher). RAM ist im Vergleich zur Festplatte ein sehr schneller Speicher. Apps werden von der Festplatte auf RAM, wenn Sie eine App verwenden, damit Sie schnell darauf zugreifen können. Was passiert, wenn Programme mehr RAM als Sie?) Verwenden? Nun, einige Teile des Programms müssen ausgelagert werden in die langsamere Festplatte.

Wird bearbeitet

Die CPU (Zentraleinheit) führt normalerweise den Großteil der Berechnungen durch, mit denen Ihre App ausgeführt wird. Einige fortgeschrittenere Betriebssysteme verlagern die Grafikverarbeitung auf die GPU (Grafikverarbeitungseinheit). Diese Prozessoren müssen ein Bild dekodieren und als Bitmap auf Ihrem Bildschirm platzieren. Stellen Sie sich eine Bitmap als ein riesiges Raster vor, in dem jeder Punkt ein Pixel des Bildes darstellt. Je größer das Bild ist, desto mehr müssen diese Prozessoren dekodieren und desto mehr müssen sie arbeiten, um diese Bilder auf Ihrem Bildschirm zu animieren.

Warum für Android (und auch iOS)) Assets mit mehreren Auflösungen benötigt werden

Kleinere Bilder verringern die Speichernutzung. Dies führt zu einer schnelleren Nutzung Ihrer App, da keine Teile der App auf die langsame Festplatte ausgelagert werden müssen. Wenn Ihre App weniger Speicher benötigt, bedeutet dies auch, dass mehr Apps gleichzeitig Speicher belegen können, was ein schnelleres Multitasking bedeutet. Telefone mit Bildschirmen mit geringer Dichte sind normalerweise die alten Telefone mit weniger Speicher. Aus diesem Grund wird die Benutzererfahrung durch die Option mit niedriger Auflösung für diese Telefone flüssiger.

Kleinere Bilder reduzieren auch die Verarbeitungszeit zum Dekodieren und Animieren der Bilder auf dem Bildschirm. Auch hier sind die Telefone mit Bildschirmen mit geringer Dichte wahrscheinlich alte Telefone mit schwächeren Prozessoren. Durch die Bereitstellung von Bildern mit niedriger Auflösung für diese Telefone wird die App schneller ausgeführt.

9
JoJo

In kleineren Bildern funktionieren nicht alle Details, die Sie im hochauflösenden Bild haben, gut, wenn sie verkleinert werden. Anstatt eine nette Geste hinzuzufügen, könnten sie einfach als hässlicher Abstrich enden. Deshalb müssen kleine Symbole nicht nur kleiner, sondern auch einfacher sein. Damit dies funktioniert, müssen Sie verschiedene Dateien für verschiedene Auflösungen bereitstellen.

4
André

Von developer.Android.com :

Diese Skalierung kann Artefakte in den Bitmaps verursachen. Um sicherzustellen, dass Ihre Bitmaps optimal aussehen, sollten Sie alternative Versionen mit unterschiedlichen Auflösungen für unterschiedliche Bildschirmdichten hinzufügen.

Ein Computer mit einem guten Grafikbearbeitungsprogramm macht in der Tat einen viel besseren Job.

Ich denke nicht, dass das Problem wirklich die Speichernutzung oder die Verarbeitungszeit ist (für eine durchschnittliche/gut gestaltete mobile App), schließlich würde dies nur einmal beim Laden des (Bildschirms) der App durchgeführt, und das Bild mit höherer Auflösung kann werden sofort nach dem Verkleinern im Speicher verworfen. Zumindest habe ich so etwas in Android Dokumentation) nicht gelesen.

3
bigstones