【发布时间】:2011-02-17 09:52:03
【问题描述】:
在我的应用程序中有很多大约 1000 个位图。我必须将它们合并为单个图像。为了做到这一点,从 sdcard 加载当前需要的位图。在这个过程中,我必须回收最近最少使用的位图,其他明智的 dvm 抛出内存错误。那么任何人都可以告诉我如何在java中完成这项任务(最近最少使用)。??
谢谢你, 斯里尼瓦斯
【问题讨论】:
-
如果你用谷歌搜索“lru cache java”,你会发现很多教程。
在我的应用程序中有很多大约 1000 个位图。我必须将它们合并为单个图像。为了做到这一点,从 sdcard 加载当前需要的位图。在这个过程中,我必须回收最近最少使用的位图,其他明智的 dvm 抛出内存错误。那么任何人都可以告诉我如何在java中完成这项任务(最近最少使用)。??
谢谢你, 斯里尼瓦斯
【问题讨论】:
LinkedHashMap 非常适合此类问题。LinkedHashMap 类的removeEldestEntry() 方法返回true 以删除最旧的条目
【讨论】:
您可能需要查看 Collections API 中的 LinkedHashMap 或 LinkedHashSet 实现,它们为高度可配置的 LRU 框架提供支持。
【讨论】: