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