How to fix “canvas: trying to use a recycled bitmap error”?

£可爱£侵袭症+ 提交于 2019-12-01 17:40:45

I suspect that once in a while your bitmap gets into the recycled state just before the Canvas gets a chance to draw onto it here drawable.draw(canvas);.

A quick solution should be not to call bitmap.recycle();, which is not strictly required for android >2.3.3. If you still want to reclaim this memory forcefully, you'll have to find a way to check when the bitmap is indeed no longer needed (i.e., Canvas had a chance to finish its drawing operations).

sakiM

Move bitmap.recycle(); to another place in the code where this bitmap is really no longer needed.

I don't know much about canvas (I don't use animations that often) but if you don't find any way to fix this, you could try using this library instead: https://github.com/codepath/android_guides/wiki/shared-element-activity-transition

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!