我在这个主题中是全新的,我很困惑,当我应该使用LRU缓存时,有人可以帮忙吗?我想要一个我们可以使用LRU以及它将在哪里有用的场景。
答案 0 :(得分:1)
如果有一组
对象,则使用LRU缓存1)您只需要一次使用它们的子集
2)整个集合的总内存使用量太大
3)您可以根据命令重新加载特定对象的数据,但对每个项目执行此操作非常耗时。
4)存在使用内存的地方 - 最近使用的项目很可能很快再次使用。
最大的例子是图像列表。图像很大,它们占用了大量内存。如果您需要其中的100个,则无法在Bitmaps中保留所有这些 - 您将遇到OutOfMemoryException。相反,您使用LRU缓存来保存您使用的最后10个左右。如果您需要再次使用其中一个,它已经在缓存中并且可以快速访问。如果您需要新的,可以从磁盘(或从网络)加载它。这样你就不会使用超过10-11个位图,而且你从未遇到过OutOfMemoryException。