admin 管理员组

文章数量: 1087649

安卓报错Canvas: trying to use a recycled bitmap android.graphics.Bitmap

安卓报错Canvas: trying to use a recycled bitmap android.graphics.Bitmap

问题出现描述:

在开发安卓应用涂鸦模块的时候,当对图片进行了涂鸦,然后保存涂鸦,此时点击保存按钮的时候快速点击。导致点击第一次是触发‘保存按钮’的点击事件第二次是触发‘涂鸦’的事件。但是此时图片已经进行保存操作,系统开始回收Bitmap缓存资源,此时涂鸦事件相当于在已经被回收的Bitmap上添加涂鸦,导致报错

问题代码:

public void onClick(View v) {            mDoodle.save();
}

解决:

private Boolean mDisableAllClick = false;
public void onClick(View v) {// 全局禁用触摸事件mDisableAllClick = true;mDoodle.save();
}@Override
public boolean dispatchTouchEvent(MotionEvent ev) {if (mDisableAllClick) {// 重写事件分发,禁用全局触摸return mDisableAllClick;}return super.dispatchTouchEvent(ev);
}

了解跟多关于事件分发

本文标签: 安卓报错Canvas trying to use a recycled bitmap androidgraphicsBitmap