安卓报错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);
}

了解跟多关于事件分发


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部