Android Studio Canvas: Zeichnen zu großer Bitmap

10

Ich benutze Ubuntu 16.04. Und in Android Studio, wenn ich versuche, meine Anwendung im Emulator auszuführen, erhalte ich den folgenden Fehler:

  

FATALE AUSNAHME: Haupt                     Prozess: Projektname hier , PID: 2528                     java.lang.RuntimeException: Canvas: versucht, zu große (216090000bytes) Bitmap zu zeichnen.                         bei android.view.DisplayListCanvas.throwIfCannotDraw (DisplayListCanvas.java:260)                         bei android.graphics.Canvas.drawBitmap (Canvas.java:1415)                         bei android.graphics.drawable.BitmapDrawable.draw (BitmapDrawable.java:528)                         bei android.widget.ImageView.onDraw (ImageView.java:1316)                         bei android.view.View.draw (View.java:17185)                         bei android.view.View.updateDisplayListIfDirty (View.java:16167)                         bei android.view.View.draw (View.java:16951)                         bei android.view.ViewGroup.drawChild (ViewGroup.java:3727)                         bei android.view.ViewGroup.dispatchDraw (ViewGroup.java:3513)                         bei android.view.View.updateDisplayListIfDirty (View.java:16162)                         bei android.view.View.draw (View.java:16951)                         bei android.view.ViewGroup.drawChild (ViewGroup.java:3727)                         bei android.view.ViewGroup.dispatchDraw (ViewGroup.java:3513) bei
  usw. ...

Ich musste einige Schleifen durchlaufen, um meinen Emulator zum Laufen zu bringen, aber ich musste einen Sym-Link erstellen, damit ich den Emulator auf AMD ausführen kann. Nicht sicher, ob dies ein Teil des Problems ist. Und für das Leben von mir kann ich nicht verstehen, warum es so weiter macht. In meiner Gruppe gibt es andere, die das Projekt auf demselben emulierten Telefon und SDK gut emulieren.

LÖSUNG

Es stellte sich heraus, dass das Problem das Hauptbild war, das wir damals in unserer App verwendet haben. Die tatsächliche Größe des Bildes war zu groß, also haben wir es komprimiert. Dann funktionierte es wie ein Charme, kein Qualitätsverlust und die App lief gut auf dem Emulator.

    
Francisco 28.11.2016, 00:23
quelle

2 Antworten

44

Verschieben Sie Ihr Bild in der (hi-res) Zeichnungsdatei nach drawable-xxhdpi . Aber in der App-Entwicklung, müssen Sie nicht zu großen Bild verwenden, um Ihre APK-Dateigröße zu erhöhen.

    
Md Imran Choudhury 13.01.2017, 13:37
quelle
2

Es stellte sich heraus, dass das Problem das Hauptbild war, das wir damals in unserer App verwendet haben. Die tatsächliche Größe des Bildes war zu groß, also haben wir es komprimiert. Dann funktionierte es wie ein Zauber, kein Qualitätsverlust und die App lief gut auf dem Emulator.

    
Francisco 07.12.2016 16:45
quelle