2017-05-11 1 views
0

Ich habe Probleme mit allokieren in meiner App. Kann ich Glide in Grafiken verwenden und dieses Problem minimieren?Android Memory-Spiel

buttonGraphic[0] = R.drawable.memory3; 
    buttonGraphic[1] = R.drawable.memory4; 
    buttonGraphic[2] = R.drawable.memory5; 
    buttonGraphic[3] = R.drawable.memory6; 
    buttonGraphic[4] = R.drawable.memory7; 
    buttonGraphic[5] = R.drawable.memory1; 
    buttonGraphic[6] = R.drawable.memory8; 
    buttonGraphic[7] = R.drawable.memory2; 
+3

Könnten Sie Ihre Frage klären? Habe nicht verstanden ... –

+0

Ich gehe davon aus, dass es eine OutOfMemoryException gibt, weil er "nicht zuordnen kann", also denke ich "kann Heap nicht zuordnen" – Zoe

+0

Im Fehler habe ich das: "Konnte eine 142850316 Bytezuordnung mit zuweisen 33553088 freie Bytes und 69MB bis OOM "also möchte ich Grafiken mit glide oder etwas optimieren. – lili

Antwort

0

Von dem, was ich verstanden, (korrigiert mich wenn ich falsch liege) haben Sie einen OutOfMemoryException, für Ihre App nicht mehr Heap bedeutet.

Ihre Fehler Unter der Annahme ist mit dem Erstellen einer Bitmap-Objekt

Zuerst gehe ich davon aus buttonGraphic eine ganze Zahl ist. Wenn Sie eine ziehbar zu einer Bitmap zuweisen möchten, haben Sie so etwas wie dies zu tun: (!. HINWEIS Es gibt viele Möglichkeiten, um eine Bitmap-Instanz erstellen Dies ist eine, nicht die Art und Weise)

... = BitmapFactory.decodeResource(getResources()/*context.getResources()*/, R.drawable.memory8); 

Die buttonGraphic Array hat vom Typ Bitmap sein, wenn Sie es als Bitmap

Angenommen, Ihre Fehler sind ein OutOfMemoryException

Dies ist ein schwieriger Fehler zuweisen, wie Sie mehr Speicher (Heap/ram) verwenden als App gewährt wird Zugriff auf.

Der einfachste Weg, um diesen Fehler zu beheben, ist es, mehr Speicher zu bekommen. Dies ist leicht mit dieser Linie in Ihrem Manifest getan:

android:largeHeap="true" 
+0

Ja, ich habe dieses Problem OutOfMemoryException. Ich versuche das was du sagst. Vielen Dank – lili

0

OutOfMemoryException Befestigung durch Setzen android: largeHeap auf „true“ ist eine sehr schlechte Entscheidung, dann ist es eine Abhilfe, aber keine Auflösung.

Me Empfehlungen sind:

1. Versuchen Bildgrößen zu verringern (von 1000 * 1000px bis 200 * 200 Pixel zum Beispiel)

2. Nacharbeits Layout/Design so u mit schweren nicht 7 Tasten haben müssen Zeichner, denke an verschiedene UI

3. Verwenden Sie Picasso

Verwandte Themen