2017-12-15 6 views
0

Ich bekomme ein Problem, wenn ich versuche, Bilder in View Pager in Android N (Überprüfung Samsung S6) zu laden.Leinwand, die versucht, zu große Bitmap zu zeichnen

java.lang.RuntimeException: Leinwand: versucht, zu groß (132710400bytes) Bitmap zu zeichnen.

Bild Dimension 960 * 720 und seine Größe 64 k, Ansicht Pager Anzahl 4 ist

Jetzt lege ich alle Bilder in normalen "ziehbar" -Ordner. Ich habe versucht, indem ich alle Bilder zu "Drawable-xxhdpi" ersetzen, aber das Problem existiert noch.

Kann jemand bitte helfen, das Problem zu finden.

+0

hat dieses Problem behoben? – Amarnath

Antwort

1

Nougat ist ziemlich schlau in der Optimierung. Es spielt keine Rolle in welchem ​​drawbaren Verzeichnis Sie es einfügen. Es wird feststellen, ob das Bild für die fließende Arbeit der App geeignet ist oder nicht. Und wenn es nicht ist, wird es diese Ausnahme erzeugen.

Lösung:

  1. Verwenden Final android Resizer erzeugen Drawables für alle dpi.
  2. Verwenden Sie die Bibliothek Glide, um Bitmaps effizient zu laden (Bitmap-Caching und Bitmap-Pooling werden unterstützt).
  3. Wenn Ihr Bild einfarbig ist (wie Symbole), können Sie Vektor-Drawables aus .SVG- oder .PSD-Dateien erzeugen. Erfahren Sie mehr here.

Viel Glück: D

Verwandte Themen