Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我得到了一个静态哈希图,以便能够多次实例化同一个类,并且哈希图将保存所有键值引用。
class A { public static final Map<String,Bitmap> map = new HashMap<String,Bitmap>(); // methods }
所以在类的每个实例上A,当你调用时map.get(KEY),你总是会得到相同的位图。我收到“已发布的未知位图参考”IllegalStateException我做错了什么?
A
map.get(KEY)
IllegalStateException
有时,如果 Android 需要内存,它会删除一些变量。因此,如果您的应用程序在静态变量中有很多像位图这样的大变量,它们有时会被系统删除。我的应用程序有这个问题。我发现的唯一解决方案是,如果对象存在,则必须检查 getter,如果不存在,则必须重新创建它...
你在位图上调用 .recycle() 吗?如果是这样,当您从哈希图中获取位图时,它将不再存在并抛出该异常