我有一个像这样的HashMap
HashMap<String, BitmapDrawable> bitmapDrawables = new HashMap<String, BitmapDrawable>();
现在我有一个方法可以返回drawable:
public static BitmapDrawable getDrawable(String fileName, Context context,Bitmap bitmap) {
BitmapDrawable drawable = bitmapDrawables.get(fileName);
if (drawable == null) {
drawable = convertBitmapToDrawable(bitmap, context);// will convert the bitmap to drawable
bitmapDrawables.put(fileName, drawable);
}
return drawable;
}
它工作正常,但有时它不会返回正确的可绘制对象,就像我有 2 个活动 A 和 B,在活动 A 中我有一个带有可绘制集的按钮,现在我从 A -> B 移动,然后回到 A绘图未加载的时间,但是当我触摸该按钮时,绘图可见。
为什么会发生这种情况?,我已经删除了 haspMap 并检查了它的负载是否正确,当我从 A->B 移动并返回 A 时,但如果我不使用 Hashmap,屏幕会出现延迟。
我以这种方式使用 getDrawable():
button.setBackgroundDrawable(getDrawable(name,context,bitmap);