bitmap - How to overcome OutOfMemoryError when VM is full in android application? -


check mockup of application : mockup


problem :

if click on second page button first page, open new intent of second page

then

i click on third page button second page, goes third page

then

i again goes first page using first page button crash application giving below error "out of memory on ...."


error :

05-13 11:35:06.417: d/dalvikvm(11948): gc_before_oom freed 9k, 19% free 39660k/48583k, paused 36ms, total 36ms 05-13 11:35:06.417: e/dalvikvm-heap(11948): out of memory on 8684816-byte allocation. 05-13 11:35:06.425: i/dalvikvm(11948): "main" prio=5 tid=1 runnable 05-13 11:35:06.425: i/dalvikvm(11948):   | group="main" scount=0 dscount=0 obj=0x40f01508 self=0x40d41a18 05-13 11:35:06.425: i/dalvikvm(11948):   | systid=11948 nice=0 sched=0/0 cgrp=apps handle=1074921264 05-13 11:35:06.425: i/dalvikvm(11948):   | schedstat=( 5318603531 1290588360 5684 ) utm=446 stm=85 core=0 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.graphics.bitmapfactory.nativedecodeasset(native method) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.graphics.bitmapfactory.decodestream(bitmapfactory.java:592) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.graphics.bitmapfactory.decoderesourcestream(bitmapfactory.java:445) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.graphics.drawable.drawable.createfromresourcestream(drawable.java:781) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.content.res.resources.loaddrawable(resources.java:1963) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.content.res.typedarray.getdrawable(typedarray.java:601) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.view.view.<init>(view.java:3443) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.view.view.<init>(view.java:3376) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.view.viewgroup.<init>(viewgroup.java:426) 05-13 11:35:06.425: i/dalvikvm(11948):   @ android.widget.relativelayout.<init>(relativelayout.java:184) 05-13 11:35:06.425: i/dalvikvm(11948):   @ java.lang.reflect.constructor.constructnative(native method) 05-13 11:35:06.425: i/dalvikvm(11948):   @ java.lang.reflect.constructor.newinstance(constructor.java:417) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.createview(layoutinflater.java:587) 05-13 11:35:06.433: i/dalvikvm(11948):   @ com.android.internal.policy.impl.phonelayoutinflater.oncreateview(phonelayoutinflater.java:56) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.oncreateview(layoutinflater.java:660) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:685) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.rinflate(layoutinflater.java:746) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.rinflate(layoutinflater.java:749) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.rinflate(layoutinflater.java:749) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.inflate(layoutinflater.java:489) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.inflate(layoutinflater.java:396) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.view.layoutinflater.inflate(layoutinflater.java:352) 05-13 11:35:06.433: i/dalvikvm(11948):   @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:306) 05-13 11:35:06.433: i/dalvikvm(11948):   @ android.app.activity.setcontentview(activity.java:1912) 05-13 11:35:06.440: i/dalvikvm(11948):   @ com.mca.lastingpoweractivity.oncreate(lastingpoweractivity.java:24) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activity.performcreate(activity.java:5163) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1094) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activitythread.performlaunchactivity(activitythread.java:2061) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activitythread.handlelaunchactivity(activitythread.java:2122) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activitythread.access$600(activitythread.java:140) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activitythread$h.handlemessage(activitythread.java:1228) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.os.handler.dispatchmessage(handler.java:99) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.os.looper.loop(looper.java:137) 05-13 11:35:06.440: i/dalvikvm(11948):   @ android.app.activitythread.main(activitythread.java:4895) 05-13 11:35:06.440: i/dalvikvm(11948):   @ java.lang.reflect.method.invokenative(native method) 05-13 11:35:06.440: i/dalvikvm(11948):   @ java.lang.reflect.method.invoke(method.java:511) 05-13 11:35:06.440: i/dalvikvm(11948):   @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:994) 05-13 11:35:06.440: i/dalvikvm(11948):   @ com.android.internal.os.zygoteinit.main(zygoteinit.java:761) 05-13 11:35:06.440: i/dalvikvm(11948):   @ dalvik.system.nativestart.main(native method) 05-13 11:35:06.440: d/skia(11948): --- decoder->decode returned false 05-13 11:35:06.440: d/androidruntime(11948): shutting down vm 05-13 11:35:06.440: w/dalvikvm(11948): threadid=1: thread exiting uncaught exception (group=0x40f002a0) 05-13 11:35:06.456: e/androidruntime(11948): fatal exception: main 05-13 11:35:06.456: e/androidruntime(11948): java.lang.runtimeexception: unable start activity componentinfo{com.mca/com.mca.lastingpoweractivity}: android.view.inflateexception: binary xml file line #18: error inflating class <unknown> 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2097) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2122) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread.access$600(activitythread.java:140) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread$h.handlemessage(activitythread.java:1228) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.os.handler.dispatchmessage(handler.java:99) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.os.looper.loop(looper.java:137) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread.main(activitythread.java:4895) 05-13 11:35:06.456: e/androidruntime(11948):    @ java.lang.reflect.method.invokenative(native method) 05-13 11:35:06.456: e/androidruntime(11948):    @ java.lang.reflect.method.invoke(method.java:511) 05-13 11:35:06.456: e/androidruntime(11948):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:994) 05-13 11:35:06.456: e/androidruntime(11948):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:761) 05-13 11:35:06.456: e/androidruntime(11948):    @ dalvik.system.nativestart.main(native method) 05-13 11:35:06.456: e/androidruntime(11948): caused by: android.view.inflateexception: binary xml file line #18: error inflating class <unknown> 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.createview(layoutinflater.java:613) 05-13 11:35:06.456: e/androidruntime(11948):    @ com.android.internal.policy.impl.phonelayoutinflater.oncreateview(phonelayoutinflater.java:56) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.oncreateview(layoutinflater.java:660) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:685) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.rinflate(layoutinflater.java:746) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.rinflate(layoutinflater.java:749) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.rinflate(layoutinflater.java:749) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.inflate(layoutinflater.java:489) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.inflate(layoutinflater.java:396) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.inflate(layoutinflater.java:352) 05-13 11:35:06.456: e/androidruntime(11948):    @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:306) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activity.setcontentview(activity.java:1912) 05-13 11:35:06.456: e/androidruntime(11948):    @ com.mca.lastingpoweractivity.oncreate(lastingpoweractivity.java:24) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activity.performcreate(activity.java:5163) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1094) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2061) 05-13 11:35:06.456: e/androidruntime(11948):    ... 11 more 05-13 11:35:06.456: e/androidruntime(11948): caused by: java.lang.reflect.invocationtargetexception 05-13 11:35:06.456: e/androidruntime(11948):    @ java.lang.reflect.constructor.constructnative(native method) 05-13 11:35:06.456: e/androidruntime(11948):    @ java.lang.reflect.constructor.newinstance(constructor.java:417) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.layoutinflater.createview(layoutinflater.java:587) 05-13 11:35:06.456: e/androidruntime(11948):    ... 26 more 05-13 11:35:06.456: e/androidruntime(11948): caused by: java.lang.outofmemoryerror 05-13 11:35:06.456: e/androidruntime(11948):    @ android.graphics.bitmapfactory.nativedecodeasset(native method) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.graphics.bitmapfactory.decodestream(bitmapfactory.java:592) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.graphics.bitmapfactory.decoderesourcestream(bitmapfactory.java:445) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.graphics.drawable.drawable.createfromresourcestream(drawable.java:781) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.content.res.resources.loaddrawable(resources.java:1963) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.content.res.typedarray.getdrawable(typedarray.java:601) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.view.<init>(view.java:3443) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.view.<init>(view.java:3376) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.view.viewgroup.<init>(viewgroup.java:426) 05-13 11:35:06.456: e/androidruntime(11948):    @ android.widget.relativelayout.<init>(relativelayout.java:184) 05-13 11:35:06.456: e/androidruntime(11948):    ... 29 more 

if knows share answers, can resolve it.

thank you.

ensure reusing activities application's stack , not creating new instance of activity every time. if not case application's stack surely run out of memory.


Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -