0

我得到了一个静态哈希图,以便能够多次实例化同一个类,并且哈希图将保存所有键值引用。

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

     // methods
}

所以在类的每个实例上A,当你调用时map.get(KEY),你总是会得到相同的位图。我收到“已发布的未知位图参考”IllegalStateException我做错了什么?

4

2 回答 2

1

有时,如果 Android 需要内存,它会删除一些变量。因此,如果您的应用程序在静态变量中有很多像位图这样的大变量,它们有时会被系统删除。我的应用程序有这个问题。我发现的唯一解决方案是,如果对象存在,则必须检查 getter,如果不存在,则必须重新创建它...

于 2013-09-29T01:59:27.823 回答
0

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

于 2013-09-29T00:48:50.077 回答