gpt4 book ai didi

android - 如何解决回收位图android.graphics.Bitmap异常?

转载 作者:行者123 更新时间:2023-11-29 22:11:13 24 4
gpt4 key购买 nike

我有一个 Activity ,我的 Activity 包含 ImageView 和两个按钮。我已将可绘制动画分配给 ImageView。当您单击下一个按钮时,动画将在动画更改之前更改,我使用以下代码清除可绘制动画帧,

            loadingAnimation.stop();//drawable animation object
for (int i = 0; i < loadingAnimation.getNumberOfFrames(); ++i){
Drawable frame = loadingAnimation.getFrame(i);
if (frame instanceof BitmapDrawable) {
((BitmapDrawable)frame).getBitmap().recycle();
}
frame.setCallback(null);
}
loadingAnimation.setCallback(null);

下一个按钮工作正常。我们将 A1(animation1) 移动到 A2(animation2) 只需单击下一个按钮。如果我们想回到 A2 到 A1,只需单击上一个按钮。当您单击上一个按钮时回到 A2 到 A1 我遇到了异常,

Canvas: trying to use a recycled bitmap android.graphics.Bitmap

请帮帮我..

最佳答案

Drawable frame = loadingAnimation.getFrame(i); 

if ((null != frame && ((BitmapDrawable)frame).getBitmap().isRecycled())) {

((BitmapDrawable)frame).getBitmap().recycle();
} else {

log("bitmap is already recycled");
}

frame = null;

至少像这样,也许您需要更改它以完美适合您的代码。

关于android - 如何解决回收位图android.graphics.Bitmap异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com