我有以下代码:
loadedImageDraggable.setBitmap(bitmap);
Log.v(TAG, "recycled image1 :"+bitmap);
Log.v(TAG, "recycled image2 :"+loadedImageDraggable.getBitmap());
bitmap.recycle();
bitmap = null;
Log.v(TAG, "recycled image3 :"+bitmap);
Log.v(TAG, "recycled image4 :"+loadedImageDraggable.getBitmap());
所以我在编写代码时所期望的是位图对象将从内存中删除。当我运行代码时,我实际得到的是这个日志跟踪:
recycled image1 :android.graphics.Bitmap@41afa8e0
recycled image2 :android.graphics.Bitmap@41afa8e0
recycled image3 :null
recycled image4 :android.graphics.Bitmap@41afa8e0
您可以在最后一行看到,仍然有这个位图对象,包裹在加载的ImageDraggable 中。由于对象是通过引用传递给方法的,所以我希望 java 在对象设置为 null 时清除对该位图对象的所有引用。我很困惑:/有人可以帮我解决这个问题吗?