安卓报错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);
}
了解跟多关于事件分发
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
