我有以下代碼:指針和垃圾收集
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 :[email protected]
recycled image2 :[email protected]
recycled image3 :null
recycled image4 :[email protected]
您可以在最後一行看到,仍然有此位圖對象周圍,包裹在loadedImageDraggable。由於對象是通過引用傳遞給方法的,我期望java在對象被設置爲null時清除對該位圖對象的所有引用。 我很困惑:/ 有人可以幫我解決這個問題嗎?
這是'loadedImageDragable'類嗎?無論如何,它可能不是它的主要實例,而是一個副本。 – SJuan76
no-在該類中沒有位圖複製操作。內部Bitmap屬性只有一個getter和setter。 – stoefln