outofmemoryerror exception bei ArrayList Initialisierung (mit Bitmaps)

  • Hi,
    ich habe eine ArrayList :
    ArrayList<Bitmap> arrayList = new ArrayList<Bitmap>();


    zu ihr will ich eigentlich 22 Bitmaps adden.
    Also arrayList.add(0, BitmapFactory.decodeResource(getResources(), R.drawable.bitmap1));
    ...
    das geht auch vier mal also bis zur vierten Bitmap dann stürzt die app ab :


    outofmemoryerror exception


    an der Bitmap kann es nicht liegen ich habe bei dem ersten mal Aden bitmap5 genommen und es hat geklappt 8|
    kann es sein das meine ArrayList nur für 4Bitmaps platz hat?


    Danke im voraus. :thumbup:

  • Ich hab jetzt eine Lösung gefunden mit der Ich den Absturz verhindern kann jedoch das Bild total verpixelt wird :


    BitmapFactory.Options options = new BitmapFactory.Options();options.inSampleSize = 8;



    Da muss es doch noch andere Lösungen geben weil sonst ja diese ganzen grossen spiele mit vielen Bildern total verpixelt sein müssten. 8| :?:

  • Wir gross sind denn die Bitmaps in Pixeln? überschlag das mal in Bytes und überleg Dir wieviel Ram dein Handy nur für die Bilder reservieren muss.
    Keine Ahnung warum du 22 Bitmaps im Speicher halten willst, meist gibt es bessere Lösungen bzw. ist der Ansatz bei anderen Spielen ein Anderer -> Sprites, Vektorgrafik ect pp.

  • Dein Problem ist einfach das dein Handy nicht genügend Speicher für die Bilder zur Verfügung hat. Du darfst entweder nicht so große Bilder nehmen, oder dir eine andere Lösung einfallen lassen als Bilder im Speicher zu halten. Ich rate dir zu letzterem, denn viel RAM verbrauchen ist nie eine Gute Lösung im App-Bereich

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!