Umgang mit Bitmaps

Compose ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Informationen zum Anzeigen von Grafiken in Compose

Das Laden von Bitmaps in Ihrer Android-App kann aus verschiedenen Gründen schwierig sein:

  • Bitmaps können das Speicherbudget einer App sehr schnell aufbrauchen. Die Kamera auf dem Pixel nimmt beispielsweise Fotos mit bis zu 4.048 × 3.036 Pixeln (12 Megapixel) auf. Wenn die verwendete Bitmap-Konfiguration ARGB_8888 ist (Standard für Android 2.3, API-Ebene 9, und höher), belegt das Laden eines einzelnen Fotos in den Arbeitsspeicher etwa 48 MB (4048 × 3036 × 4 Byte). Ein so hoher Speicherbedarf kann den gesamten für die App verfügbaren Speicher sofort aufbrauchen.
  • Wenn Sie Bitmaps im UI-Thread laden, kann dies die Leistung Ihrer App beeinträchtigen und zu einer langsamen Reaktionsfähigkeit oder sogar zu ANR-Meldungen führen. Daher ist es wichtig, Threads bei der Arbeit mit Bitmaps richtig zu verwalten.
  • Wenn Ihre App mehrere Bitmaps in den Arbeitsspeicher lädt, müssen Sie den Arbeitsspeicher und das Festplatten-Caching geschickt verwalten. Andernfalls kann die Reaktionsfähigkeit und Flüssigkeit der Benutzeroberfläche Ihrer App beeinträchtigt werden.

In den meisten Fällen empfehlen wir, die Glide-Bibliothek zu verwenden, um Bitmaps in Ihrer App abzurufen, zu decodieren und anzuzeigen. Glide abstrahiert die meisten komplexen Aufgaben, die mit der Verarbeitung von Bitmaps und anderen Bildern unter Android verbunden sind. Informationen zur Verwendung und zum Herunterladen von Glide finden Sie im Glide-Repository auf GitHub.

Sie können auch direkt mit den Low-Level-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 Ressourcen