什么时候应该使用LRU缓存?这是最好的解决方案吗?

时间:2016-04-24 11:35:37

标签: android

我在这个主题中是全新的,我很困惑,当我应该使用LRU缓存时,有人可以帮忙吗?我想要一个我们可以使用LRU以及它将在哪里有用的场景。

1 个答案:

答案 0 :(得分:1)

如果有一组

对象,则使用LRU缓存

1)您只需要一次使用它们的子集

2)整个集合的总内存使用量太大

3)您可以根据命令重新加载特定对象的数据,但对每个项目执行此操作非常耗时。

4)存在使用内存的地方 - 最近使用的项目很可能很快再次使用。

最大的例子是图像列表。图像很大,它们占用了大量内存。如果您需要其中的100个,则无法在Bitmaps中保留所有这些 - 您将遇到OutOfMemoryException。相反,您使用LRU缓存来保存您使用的最后10个左右。如果您需要再次使用其中一个,它已经在缓存中并且可以快速访问。如果您需要新的,可以从磁盘(或从网络)加载它。这样你就不会使用超过10-11个位图,而且你从未遇到过OutOfMemoryException。