java.lang.OutOfMemoryError: bitmap size exceeds VM budget

by Matt Kanninen » Thu, 26 Nov 2009 01:37:20 GMT


Sponsored Links
 This:
        private static final int[] glowDrawableIds={
                R.drawable.graphic_microphoneglow_01,
                R.drawable.graphic_microphoneglow_02,
                R.drawable.graphic_microphoneglow_03,
                R.drawable.graphic_microphoneglow_04,
                R.drawable.graphic_microphoneglow_05,
                R.drawable.graphic_microphoneglow_06,
                R.drawable.graphic_microphoneglow_07,
                R.drawable.graphic_microphoneglow_08,
                R.drawable.graphic_microphoneglow_09,
                R.drawable.graphic_microphoneglow_10
        };
...
View glow = findViewById(R.id.glow);
..

glow.setBackgroundResource(glowDrawableIds[scale]);

is causing

11-25 09:21:02.046: WARN/UsageStats(1018): Failed to persist new stats
11-25 09:21:02.694: DEBUG/dalvikvm(2386): GC freed 298 objects / 15656
bytes in 61ms
11-25 09:21:02.952: ERROR/dalvikvm-heap(2386): 1111680-byte external
allocation too large for this process.
11-25 09:21:02.952: ERROR/(2386): VM won't let us allocate 1111680
bytes
11-25 09:21:02.952: DEBUG/AndroidRuntime(2386): Shutting down VM
11-25 09:21:02.952: WARN/dalvikvm(2386): threadid=3: thread exiting
with uncaught exception (group=0x4001b180)
11-25 09:21:02.952: ERROR/AndroidRuntime(2386): Uncaught handler:
thread main exiting due to uncaught exception
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.Bitmap.nativeCreate(Native Method)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.Bitmap.createBitmap(Bitmap.java:468)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.Bitmap.createBitmap(Bitmap.java:435)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.Bitmap.createScaledBitmap(Bitmap.java:340)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:488)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:462)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:
323)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.graphics.drawable.Drawable.createFromResourceStream
(Drawable.java:697)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.content.res.Resources.loadDrawable(Resources.java:1705)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.content.res.Resources.getDrawable(Resources.java:580)
11-25 09:21:03.014: ERROR/AndroidRuntime(2386):     at
android.view.View.setBackgroundResource(View.java:7187)

--



java.lang.OutOfMemoryError: bitmap size exceeds VM budget

by Amit » Thu, 17 Jun 2010 15:08:00 GMT


 Hi

java.lang.OutOfMemoryError: bitmap size exceeds VM budget
I am getting this message in my log. As I investigated and found out
while loading contact image this error comes.I checked  size of the
image file and it was normal so came to a conclusion that other
processes filling up the memory and hence at the time this image is
being loaded ,VM running low of memory.

My question is that, is there any tool to figure out which process is
responsible for occupying memory so that we can look into the process
for the exact reason.

Thanks,
Amit

--


Sponsored Links


Other Threads

1. Exposing data to third-party apps in a synchronous call?

Hi,

I've got an application, and I'd like to publish a way for third-party
services to get data from it. Ideally I could expose this  through
intents, as in the following pseudocode:

   // third party apps
   class ThirdPartyService extends Service {
       @Override
       public void onCreate() {
           Intent i = new Intent(this, "com.me.test.MyAppIntent");
           Intent result = startActivity(i);
       }
    }

    // part of my app
    class MyAppIntent extends Activity {
       @Override
       public void onCreate() {
           Intent i = new Intent();
           i.putExtra("result", "hi there");
           setResult(i);
           finish();
       }
    }

The above won't work of course - I have some work done on this, just
wondering if anyone has any recommendations or best practices?

Thanks

-- 

2. notifying that the dawvik vm has crashed

Hi,

I have a situation here where i have an intent A that calls intent B.
In Android 2.x, the application B consistently crashes the dawvik
virtual machine when it runs the second time. Then, if A calls B
again, it works.

Is there a way to let A find out that the vm has crashed? This way, i
could just redo intent B.

thanks

   guich

-- 

3. trying to send an MMS causes an ActivityNotFoundException to be thrown...

4. want to send an e-mail...

5. how to send an MMS

6. Need info on LOCAL_CFLAGS

7. Third-party package