Android drawable Outofmemory
dies ist mein drawable in der Reihe für mein viewpager, wenn ich es laufen lasse, habe ich die Ergebnisse in out-of-memory-Fehler, gibt es eine Möglichkeit, die Bildgröße zu reduzieren oder etc?
ich mache viel suchen, aber ich kann nicht verwenden Sie Sie als gut..
bitte um Hilfe...
GalImages = new int[] { R.drawable.tutorials_01_android_en,R.drawable.tutorials_02_android_en,R.drawable.tutorials_03_android_en,R.drawable.tutorials_04};break
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
final int temp = position;
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);
((ViewPager) container).addView(imageView, 0);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {}
});
return imageView;
}
- Haben Sie einen Blick auf diese Frage hier. stackoverflow.com/questions/477572/...
- Ich bin vor denselben Problemen, haben Sie keine Lösung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine eine bekannten Fehler, das ist nicht, weil von großen Dateien. Seit Android speichert die Drawables, die wird aus dem Speicher nach der Verwendung einige Bilder. Aber ich fand alternativen Weg für es, durch überspringen die android-Standard-cache-system.
Soultion nutzen:
Erstellen Sie ein drawable Ordner in Assets und bewegen Sie die Bilder, um den "drawable" Ordner in assets und verwenden Sie die folgenden Funktion, um BitmapDrawable
Refrence : https://stackoverflow.com/posts/6116316/revisions
Auch, dass fügen Sie die Zeile unterhalb in Ihrer manifest-Datei
Versuchen Sie, Ihre drawables aus dem unteren MPI für HDPI oder noch höheren dimension Ordnern wie XHDPI je nach Auflösung.
Meine Bilder die Abmessungen reichten von 400 bis 800 Pixel. Ich meine gespeicherten drawables in MDPI, dass war wirft OutOfMemory auf meinem Galaxy S4. Ich zog Sie zu HDPI und es löste das problem.
Erwähnt Muhammad, versuchen Sie, Ihre Bilder in drawable(oder MDPI) zu einer anderen dimension als Ordner HDPI oder höher.
Immer versuchen, zu verwenden komprimierte PNGs so weit wie möglich. Es gibt eine Menge von online-sites, können Sie komprimieren Sie in einem sehr großen Maßstab.
Referenz: http://developer.android.com/guide/practices/screens_support.html
So lange, wie Sie Ihre Bilder sind nicht sehr groß in der Größe, die Sie verwenden können, die drawable-nodpi Ordner für Ihre PNGs. Ich kann bestätigen, das löste das Problem für mich.
Hinzufügen
android:largeHeap:"true"
um Ihre manifest-Datei und verschieben Sie Ihre Bilder in den drawable-Ordnermipmap-hopi
.[android] [java] [android studio]
hat @Muhammad erwähnt hier vor,
erstellen, die mehrere Bilder enthalten (hdpi, ldpi,mdpi,xdpi etc) lösen das problem für mich.
denn es dauerte einige Zeit Abbildung, wie Sie diese Dateien
hier sind einige print-screens, die es erklären:
Drawable -->Neu --> Batch-Drawable-Import (für multiply-Dateien)
dann Fügen Sie die Dateien hinzu
und dann entschied sich die Auflösungen