
Jaiel
Dauer-User
- 235
hey ich lade neben anderen bitmaps eine 1440x2560 bitmap in den speicher um diese daraufhin zu skalieren in 1440x2560 in meinem fall(note 4)
kriege aber ein out of memory sind wohl zu viele bitmaps im speicher
er läuft über und da steht ca 14 mb sind es wohl weswegen er meckert.
ich wollte mal fragen kann ich irgendwie das um,gehen ohne die resource zu verkleiner(bei ca 25% kleinerem bild geht es ok hab jetzt nmciht die grenzen ausgetestet da es ja von device zu device unterschiedlich ist)
ich hatte jetzt die idee es nciht hintereinander laufen zu lassen sondern erst die eine bitmap laden und dann skalieren dann die nächste und so weiter...zur zeit ist es so: lade erst mal alle bitmaps ind den speicher und dann kommt erst das skalieren.
aber ich frag mich wie lange es jetzt dauern würde bis der speicher geleert wird und keine out of memory ex kommt
zum beispiel hätte ich daran gedacht:
bitmap=BF.decoderessource(...,r.draable.homebutton);
homebutton=B.createScaledBitmap(bitmap,...);
bitmap=null;
bitmap=...
wie ihr seht befreie ich (vllt unnötierweise) die bitmap wieder damit es der GC aufsaugen kann
so jetzt kenn ich natürlich die recycle() methode die jedoch so wie finish nciht garantiert das sofort etwas passiert udn auch unnötig ist...
wie soll ich vorgehen damit speicher befreit wird oder kann ich das überhaupt(hach das sind die momente wo man C++ vermisst);
kriege aber ein out of memory sind wohl zu viele bitmaps im speicher
er läuft über und da steht ca 14 mb sind es wohl weswegen er meckert.
ich wollte mal fragen kann ich irgendwie das um,gehen ohne die resource zu verkleiner(bei ca 25% kleinerem bild geht es ok hab jetzt nmciht die grenzen ausgetestet da es ja von device zu device unterschiedlich ist)
ich hatte jetzt die idee es nciht hintereinander laufen zu lassen sondern erst die eine bitmap laden und dann skalieren dann die nächste und so weiter...zur zeit ist es so: lade erst mal alle bitmaps ind den speicher und dann kommt erst das skalieren.
aber ich frag mich wie lange es jetzt dauern würde bis der speicher geleert wird und keine out of memory ex kommt
zum beispiel hätte ich daran gedacht:
bitmap=BF.decoderessource(...,r.draable.homebutton);
homebutton=B.createScaledBitmap(bitmap,...);
bitmap=null;
bitmap=...
wie ihr seht befreie ich (vllt unnötierweise) die bitmap wieder damit es der GC aufsaugen kann
so jetzt kenn ich natürlich die recycle() methode die jedoch so wie finish nciht garantiert das sofort etwas passiert udn auch unnötig ist...
wie soll ich vorgehen damit speicher befreit wird oder kann ich das überhaupt(hach das sind die momente wo man C++ vermisst);