图像回收在 Android 中究竟是如何工作的?
请允许我详细说明:
如果我有以下情况:
myBitmap = BitmapFactory.decodeResource(curView.getResources(), R.drawable.mypic);
并记录以下内容
Log.v("ImageStuff","Image is: "+myBitmap);
我得到以下结果:
Image is: android.graphics.Bitmap@(ResourceID here)
这很好,但是如果我做同样的事情但像这样调用回收
myBitmap = BitmapFactory.decodeResource(curView.getResources(), R.drawable.mypic);
myBitmap.recycle()
我得到与上面相同的结果。我认为调用回收会清除位图,因此它会记录为空?
另外,如果我有一个像这样采用位图的方法:
public void doStuff(Bitmap pic){
//Code here
}
如上所述创建我的位图并将其发送到 doStuff:
myBitmap = BitmapFactory.decodeResource(curView.getResources(), R.drawable.mypic);
doStuff(myBitmap);
如果我想回收图像,是否需要调用 myBitmap.recycle(); 以及 pic.recycle (在我完成后的 doStuff 方法中)。?