Es ist ein bekannter Fehler , nicht weil großer Dateien. Da Android die Drawables zwischenspeichert, geht der Speicher nach der Verwendung einiger weniger Bilder verloren. Aber ich fand einen alternativen Weg dafür, indem ich das Standard-Cache-System von Androiden überspringe.
Soultion : Erstellen Sie einen ausklappbaren Ordner in Assets und verschieben Sie die Bilder in den "Drawable" -Ordner in Assets und verwenden Sie die folgende Funktion, um BitmapDrawable
zu erhalten %Vor%Referenz: Ссылка
Fügen Sie auch die Zeile in Ihre Manifestdatei ein
%Vor%Versuchen Sie, Ihre Zeichen je nach Ihrer Auflösung von niedrigeren MPI zu HDPI oder zu höheren Ordnern wie XHDPI zu verschieben.
Die Größe meiner Bilder lag zwischen 400 und 800 Pixel. Ich habe meine Drawables in MDPI gespeichert, die OutOfMemory auf mein Galaxy S4 geworfen haben. Ich habe sie nach HDPI verschoben und das Problem gelöst.
Wie von Muhammad erwähnt, versuchen Sie, Ihre Bilder in dropable (oder MDPI) in einen anderen Dimensionsordner als HDPI oder höher zu verschieben.
Versuchen Sie immer komprimierte PNGs so weit wie möglich zu verwenden. Es gibt viele Online-Sites, die Sie in einem sehr großen Maßstab komprimieren können.
Referenz: Ссылка
Solange Ihre Bilder nicht sehr groß sind, können Sie den Ordner drawable-nodpi für Ihre PNGs verwenden. Ich kann bestätigen, dass dies das Problem für mich gelöst hat.
Fügen Sie android:largeHeap:"true"
zu Ihrer Manifest-Datei hinzu und verschieben Sie Ihre zeichnbaren Bilder in den Ordner mipmap-hopi
.
[android] [java] [android-studio]
Tags und Links android out-of-memory