位图在静态hashmap上丢失了引用?

时间:2013-09-28 16:09:58

标签: android bitmap hashmap

我有一个静态hashmap,以便能够多次实例化同一个类,而hashmap将包含所有键值引用。

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

     // methods
}

因此,在课程A的每个实例上,当您调用map.get(KEY)时,您将始终获得相同的位图。我收到了“已发布的未知位图参考”IllegalStateException我做错了什么?

2 个答案:

答案 0 :(得分:1)

有时候,如果Android需要内存,它会删除一些变量。 因此,如果你的应用程序在静态变量中有很多大变量,比如Bitmaps,那么它们有时会被系统删除。我有一个应用程序的这个问题。我找到的唯一解决方案是,如果对象存在,你必须检查你的getter,如果没有,你将不得不重新创建它......

答案 1 :(得分:0)

你在位图上调用.recycle()吗? 如果是这样,当您从hashmap获取位图时,它将不再存在并抛出该异常