LruCache为指定的密钥返回错误的位图

时间:2015-03-02 01:12:08

标签: android bitmap android-bitmap android-lru-cache

我是Android开发的新手。

我遇到了从LruBitmapCache获取正确位图的问题。我使用UUID生成唯一ID,我不使用URL,因为我在画布上生成位图。 (我将getDrawingCache()从我的视图复制到新的位图(使用副本),然后将副本存储到缓存中。

由于某些原因,在我存储位图之后,当我访问它时,它最终成为另一个id的位图......有时会发生这种情况。有任何想法吗?

我使用currentIndex来跟踪我在cachedKeys数组中的位置(我希望按顺序保存并浏览画布上的bitamp)。我想我正在更新缓存中的条目错误...

1 个答案:

答案 0 :(得分:0)

一位开发人员协助。我错误地按错误顺序执行了mDrawingView.restartDrawingCache();

应该是:

<drawing view>.setDrawingCacheEnabled(true);
Bitmap mmap= <drawing view>.getDrawingCache();
Bitmap copy = mmap.copy(mmap.getConfig(), false);
<drawing view>.setDrawingCacheEnabled(false);

干杯,也许这会帮助别人:)