YES YES YES!!! I've found solution for that. It's tricky but it works. Place that on the begining of your code.
try{ while (true){ Bitmap tmpBitmap = Bitmap.createBitmap(320, 4800, Config.ARGB_8888); } }catch(Throwable e){ e.printStackTrace(); System.out.println("CATCHED !!!!"); } I was fighting with that about 4 days. Hope anyone is happy now. Regards, avram. On Dec 15 2008, 8:29 pm, Mark K <mark.ka...@gmail.com> wrote: > I've run into this exact same problem a number of times myself. Not > sure if its a bug or just a limitation of the jvm, can't seem to > process more than a few large bitmaps without this occuring, this > always seems to occur when decoding bitmaps from file. Hopefully its > on the radar as a bug and will get fixed at some point. This is a > problem since de-coding bitmaps from file is a fairly common > operation. > > Mark > > On Dec 14, 9:49 am, plusminus <stoeps...@gmx.de> wrote: > > > The following situation happens only in a few cases, but it does more > > than once. > > --------------------------------- > > > I'm receiving several OutOfMemoryError in > > BitmapFactory.nativeDecodeByteArray. > > > DDMS-Heap-View never broke the 16MB barrier. I can't even get it above > > 6MB, while going wild and smashing keys like a monkey: > > ----------------------------------- > > 1 5,820 MB 2,751 MB 3,069 MB 47,26% 54.433 > > ----------------------------------- > > > The situation is that I have a ThreadPoolExector: > > ----------------------------------- > > protected ExecutorService mThreadPool = Executors.newCachedThreadPool > > (); > > ----------------------------------- > > ... ,which load several 256x256 pngs to the RAM. (Average png-size: < > > 20kb) > > > StackTrace-Desciption: > > That OutOfMemoryError happens several times in the Threads, until the > >VMdecides its enough and stops the whole process. > > > StackTrace: > > ################################# > > W/AudioFlinger( 24): write blocked for 49 msecs > > W/AudioFlinger( 24): write blocked for 48 msecs > > W/AudioFlinger( 24): write blocked for 49 msecs > > D/dalvikvm( 410): GC freed 31478 objects / 1613104 bytes in 196ms > > D/dalvikvm( 410): GC freed 6404 objects / 991024 bytes in 151ms > > D/dalvikvm( 410): GC freed 5224 objects / 1229888 bytes in 137ms > > E/SOCKETLOG( 410): add_recv_stats recv 0 > > E/SOCKETLOG( 410): add_recv_stats recv 0 > > E/SOCKETLOG( 410): add_recv_stats recv 0 > > E/SOCKETLOG( 410): add_recv_stats recv 0 > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > E/ ( 410):VMwon't let us allocate 65536 bytes > > W/dalvikvm( 410): threadid=59: thread exiting with uncaught exception > > (group=0x40010e28) > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-6 > > exiting due to uncaught exception > > E/ ( 410):VMwon't let us allocate 65536 bytes > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > W/dalvikvm( 410): threadid=65: thread exiting with uncaught exception > > (group=0x40010e28) > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > E/ ( 410):VMwon't let us allocate 65536 bytes > > W/dalvikvm( 410): threadid=43: thread exiting with uncaught exception > > (group=0x40010e28) > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-3 > > exiting due to uncaught exception > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask > > (ThreadPoolExecutor.java:648) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.run > > (ThreadPoolExecutor.java:673) > > E/AndroidRuntime( 410): at java.lang.Thread.run(Thread.java: > > 935) > > E/ ( 410):VMwon't let us allocate 65536 bytes > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-9 > > exiting due to uncaught exception > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > E/ ( 410):VMwon't let us allocate 65536 bytes > > W/dalvikvm( 410): threadid=61: thread exiting with uncaught exception > > (group=0x40010e28) > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask > > (ThreadPoolExecutor.java:648) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.run > > (ThreadPoolExecutor.java:673) > > E/AndroidRuntime( 410): at java.lang.Thread.run(Thread.java: > > 935) > > E/dalvikvm-heap( 410): 65536-byte external allocation too large for > > this process. > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask > > (ThreadPoolExecutor.java:648) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.run > > (ThreadPoolExecutor.java:673) > > E/AndroidRuntime( 410): at java.lang.Thread.run(Thread.java: > > 935) > > E/ ( 410):VMwon't let us allocate 65536 bytes > > I/Process ( 50): Sending signal. PID: 410 SIG: 3 > > I/dalvikvm( 410): threadid=7: reacting to signal 3 > > I/dalvikvm( 410): Wrote stack trace to '/data/anr/traces.txt' > > W/dalvikvm( 410): threadid=73: thread exiting with uncaught exception > > (group=0x40010e28) > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-10 > > exiting due to uncaught exception > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask > > (ThreadPoolExecutor.java:648) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.run > > (ThreadPoolExecutor.java:673) > > E/AndroidRuntime( 410): at java.lang.Thread.run(Thread.java: > > 935) > > I/Process ( 50): Sending signal. PID: 410 SIG: 3 > > W/ActivityManager( 50): Process org.andnav2 has crashed too many > > times: killing! > > D/ActivityManager( 50): Force finishing activity > > org.andnav2/.ui.map.OpenStreetDDMap > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-7 > > exiting due to uncaught exception > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask > > (ThreadPoolExecutor.java:648) > > E/AndroidRuntime( 410): at > > java.util.concurrent.ThreadPoolExecutor$Worker.run > > (ThreadPoolExecutor.java:673) > > E/AndroidRuntime( 410): at java.lang.Thread.run(Thread.java: > > 935) > > W/dalvikvm( 410): threadid=63: thread exiting with uncaught exception > > (group=0x40010e28) > > E/AndroidRuntime( 410): Uncaught handler: thread pool-8-thread-8 > > exiting due to uncaught exception > > E/AndroidRuntime( 410):java.lang.OutOfMemoryError:bitmapsize > >exceedsVMbudget > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:234) > > E/AndroidRuntime( 410): at > > android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:247) > > E/AndroidRuntime( 410): at > > org.andnav2.osm.views.tiles.OSMMapTileFilesystemCache$1.run > > (OSMMapTileFilesystemCache.java:234) > > E/AndroidRuntime( 410): at > > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---