Hi

Probably you are having a memory leak

Read this article from google blog.

http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

Hope this helps,

Daniel

On Nov 26, 3:42 pm, Syl <[email protected]> wrote:
> In my application, user can click on a button and then he can select a
> picture from his gallery.
> This image is then displayed.
>
> However, when the user performs 3 or 4 times this operation, the
> following exception is thrown, due to memory allocation problem :
>
> 11-26 18:31:34.119: ERROR/dalvikvm-heap(707): 6291456-byte external
> allocation too large for this process.
> 11-26 18:31:34.119: ERROR/(707): VM won't let us allocate 6291456
> bytes
> 11-26 18:31:34.119: DEBUG/skia(707): xxxxxxxxxxxxxxxxxxxx
> allocPixelRef failed
> 11-26 18:31:36.005: DEBUG/AndroidRuntime(707): Shutting down VM
> 11-26 18:31:36.005: WARN/dalvikvm(707): threadid=3: thread exiting
> with uncaught exception (group=0x40013e28)
> 11-26 18:31:36.005: ERROR/AndroidRuntime(707): Uncaught handler:
> thread main exiting due to uncaught exception
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):
> java.lang.OutOfMemoryError: bitmap size exceeds VM budget
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:304)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.graphics.drawable.Drawable.createFromStream(Drawable.java:635)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> com.altran.test.selectpicture.MainActivity.onActivityResult
> (MainActivity.java:74)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.Activity.dispatchActivityResult(Activity.java:3415)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.ActivityThread.deliverResults(ActivityThread.java:2835)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.ActivityThread.handleSendResult(ActivityThread.java:2881)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.ActivityThread.access$2300(ActivityThread.java:112)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1608)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.os.Handler.dispatchMessage(Handler.java:88)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.os.Looper.loop(Looper.java:123)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> android.app.ActivityThread.main(ActivityThread.java:3742)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> java.lang.reflect.Method.invokeNative(Native Method)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> java.lang.reflect.Method.invoke(Method.java:515)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> (ZygoteInit.java:739)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
> 11-26 18:31:36.099: ERROR/AndroidRuntime(707):     at
> dalvik.system.NativeStart.main(Native Method)
>
> Here a sample of my code where problem is focused :
>
> InputStream is = getContentResolver().openInputStream( currImageURI );
> Drawable drawable = Drawable.createFromStream( is, "src" );
> is.close();
> m_imageView.setBackgroundDrawable( drawable );
>
> Is it possible to force object (here the Drawable object) to be
> released from memory ?
>
> Thanks.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to