public class MyView {
private Canvas mCanvas;
private Bitmap mBitmap;
private static Bitmap mFreeBitmap;
static {
mFreeBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
}
public MyView(){
...
mBitmap = BitmapFactory.createBitmap(...);
mCanvas = new Canvas(mBitmap);
...
}
public void deinit(){
// 销毁时调用
if(mBitmap != null && !mBitmap.isRecycled()){
mCanvas.setBitmap(mFreeBitmap);
mBitmap.recycle();
mBitmap = null;
}
}
}
记得销毁bitmap
本文介绍了一个名为MyView的自定义Android视图类,重点展示了如何通过合理地管理和释放Bitmap资源来避免内存泄漏。该类在初始化时创建了一个用于绘制的Bitmap,并在不再需要时正确回收了Bitmap资源。
1046

被折叠的 条评论
为什么被折叠?



