Umgang mit Bitmaps

Funktion „Schreiben“ ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Hier erfahren Sie, wie Sie Grafiken in Compose anzeigen lassen.

Es gibt eine Reihe von Gründen, warum das Laden von Bitmaps in Ihrer Android-App schwierig ist:

  • Bei Bitmaps kann das Arbeitsspeicherbudget einer App sehr schnell aufgebraucht werden. Beispielsweise nimmt die Kamera des Pixel Fotos mit bis zu 4.048 × 3.036 Pixeln (12 Megapixeln) auf. Wenn als Bitmapkonfiguration ARGB_8888 verwendet wird, die Standardeinstellung für Android 2.3 (API-Level 9) und höher, benötigt das Laden eines einzelnen Fotos in den Arbeitsspeicher etwa 48 MB Arbeitsspeicher (4.048 × 3.036 × 4 Byte). Ein so großer Arbeitsspeicherbedarf kann sofort den gesamten für die Anwendung verfügbaren Arbeitsspeicher belegen.
  • Das Laden von Bitmaps in den UI-Thread kann die Leistung der Anwendung beeinträchtigen und dazu führen, dass sie langsam reagiert oder sogar ANR-Meldungen auftreten. Daher ist es wichtig, Threading bei der Arbeit mit Bitmaps angemessen zu verwalten.
  • Wenn Ihre Anwendung mehrere Bitmaps in den Arbeitsspeicher lädt, müssen Sie das Arbeitsspeicher- und Laufwerk-Caching verwalten. Andernfalls kann die Reaktionsfähigkeit und die flüssige Darstellung der Benutzeroberfläche deiner App beeinträchtigt werden.

In den meisten Fällen empfehlen wir, die Glide-Bibliothek zu verwenden, um Bitmaps in deiner App abzurufen, zu decodieren und anzuzeigen. Glide entlastet den Großteil der Komplexität bei der Verarbeitung dieser und anderer Aufgaben im Zusammenhang mit der Arbeit mit Bitmaps und anderen Bildern unter Android. Informationen zum Verwenden und Herunterladen von Glide finden Sie im Glide-Repository auf GitHub.

Sie können auch direkt mit den untergeordneten APIs arbeiten, die in das Android-Framework integriert sind. Weitere Informationen dazu finden Sie unter Große Bitmaps effizient laden, Bitmaps im Cache speichern und Bitmap-Arbeitsspeicher verwalten.

Weitere Informationen