android - AnimationDrawable: Right way to free memory -


what right way free memory when using animationdrawable? right using:

for (int framecounter = 0; framecounter < animation.getnumberofframes(); ++framecounter) {     drawable frame = animation.getframe(framecounter);     if (frame instanceof bitmapdrawable) {         bitmapdrawable castedframe = (bitmapdrawable) frame;         bitmap bitmap = castedframe.getbitmap();         if (bitmap != null && !bitmap.isrecycled())             bitmap.recycle();     }     frame.setcallback(null); } animation.setcallback(null); 

where animation animationdrawable. problem is, when go same activity (and animation displayed again), exception thrown:

java.lang.runtimeexception: canvas: trying use recycled bitmap android.graphics.bitmap@2ee1a817     @ android.graphics.canvas.throwifcannotdraw(canvas.java:1225)     @ android.view.gles20canvas.drawbitmap(gles20canvas.java:600)     @ android.graphics.drawable.bitmapdrawable.draw(bitmapdrawable.java:544)     @ android.graphics.drawable.drawablecontainer.draw(drawablecontainer.java:76)     @ android.widget.imageview.ondraw(imageview.java:1187)     @ android.view.view.draw(view.java:16269)     @ android.view.view.updatedisplaylistifdirty(view.java:15192)     @ android.view.view.getdisplaylist(view.java:15215)     @ android.view.view.draw(view.java:15990)     @ android.view.viewgroup.drawchild(viewgroup.java:3708)     @ android.view.viewgroup.dispatchdraw(viewgroup.java:3502)     @ android.view.view.updatedisplaylistifdirty(view.java:15187)     @ android.view.view.getdisplaylist(view.java:15215)     @ android.view.view.draw(view.java:15990)     @ android.view.viewgroup.drawchild(viewgroup.java:3708)     @ android.view.viewgroup.dispatchdraw(viewgroup.java:3502)     @ android.view.view.updatedisplaylistifdirty(view.java:15187)     @ android.view.view.getdisplaylist(view.java:15215)     @ android.view.view.draw(view.java:15990)     @ android.view.viewgroup.drawchild(viewgroup.java:3708)     @ android.view.viewgroup.dispatchdraw(viewgroup.java:3502)     @ android.view.view.updatedisplaylistifdirty(view.java:15187)     @ android.view.view.getdisplaylist(view.java:15215)     @ android.view.view.draw(view.java:15990)     @ android.view.viewgroup.drawchild(viewgroup.java:3708)     @ android.view.viewgroup.dispatchdraw(viewgroup.java:3502)     @ android.view.view.draw(view.java:16272)     @ android.widget.framelayout.draw(framelayout.java:592)     @ com.android.internal.policy.impl.phonewindow$decorview.draw(phonewindow.java:3047)     @ android.view.view.updatedisplaylistifdirty(view.java:15192)     @ android.view.view.getdisplaylist(view.java:15215)     @ android.view.threadedrenderer.updateviewtreedisplaylist(threadedrenderer.java:307)     @ android.view.threadedrenderer.updaterootdisplaylist(threadedrenderer.java:313)     @ android.view.threadedrenderer.draw(threadedrenderer.java:352)     @ android.view.viewrootimpl.draw(viewrootimpl.java:2811)     @ android.view.viewrootimpl.performdraw(viewrootimpl.java:2634)     @ android.view.viewrootimpl.performtraversals(viewrootimpl.java:2222)     @ android.view.viewrootimpl.dotraversal(viewrootimpl.java:1230)     @ android.view.viewrootimpl$traversalrunnable.run(viewrootimpl.java:6726)     @ android.view.choreographer$callbackrecord.run(choreographer.java:777)     @ android.view.choreographer.docallbacks(choreographer.java:590)     @ android.view.choreographer.doframe(choreographer.java:560)     @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:763)     @ android.os.handler.handlecallback(handler.java:739)     @ android.os.handler.dispatchmessage(handler.java:95)     @ android.os.looper.loop(looper.java:145)     @ android.app.activitythread.main(activitythread.java:6141)     @ java.lang.reflect.method.invoke(native method)     @ java.lang.reflect.method.invoke(method.java:372)     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399)     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194) 

the funny thing exception thrown not second time go activity, third. ideas? thanks


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -