我在片段中使用位图,并在片段的onDestroy()方法中调用bitmap.recycle()。但是有好几次我得到了一个例外
E/AndroidRuntime(4869): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@40659750
我也尝试在片段的onDestroyView()方法中执行此操作,但仍然得到相同的异常。
有没有人能建议我应该调用bitmap.recycle()的片段生命周期的最佳阶段是什么
发布于 2014-01-27 14:46:02
您可以在onDestroyView或onDestory中回收,但请确保在oncreate或onCreateView中重新创建位图。当您再次使用相同的位图引用时,它会抛出回收异常。因此,在创建片段时需要重新创建位图,或者也可以检查isRecycled()以了解位图是否已被回收
发布于 2014-10-20 09:54:00
我找到了解决这个问题的办法,我也在与同样的问题作斗争。
我所做的是删除了/each片段的content视图的所有子视图。在每个片段的所有子视图都消失后,我弹出了片段
我回收了每个片段'OnDestroy‘上的位图,就像你现在所做的那样。
https://stackoverflow.com/questions/8559340
复制相似问题