2013-09-28 51 views
0

爲了能夠多次實例化同一個類,我得到了一個靜態hashmap,並且hashmap將保存所有鍵值引用。位圖丟失靜態哈希表的引用?

class A { 
    public static final Map<String,Bitmap> map = new HashMap<String,Bitmap>(); 

    // methods 
} 

所以在類A的每個實例,當你調用map.get(KEY),您總能獲得相同的位圖。我收到了「發佈的未知位圖參考」IllegalStateException我做錯了什麼?

+0

您能發佈更多代碼嗎? – hasan83

回答

0

你在調用位圖上的.recycle()嗎? 如果是這樣,當你從散列表中獲取位圖時,它將不再存在並拋出異常

1

有時,如果Android需要內存,它會刪除一些變量。 因此,如果你的應用程序在靜態變量中有很多像Bitmaps這樣的大變量,它們有時可以被系統刪除。我有一個應用程序的這個問題。我發現的唯一解決方案是,如果對象存在,則必須檢查您的getter,如果不存在,則必須重新創建它...

+0

+1注意Android有時清除靜態。 – Bachi