用对象实现LruCache

时间:2013-08-23 17:58:32

标签: java android lru

我正在研究为Android实现离线模式,但为了实现这一点,我需要实现一个缓存系统。我阅读并且人们建议LruCache并在这里看到图像的示例LruCache Example。现在我不缓存图像,我想缓存对象。所以例如我有一个名为“Customer”的对象,而客户有一个Id和一个Name,所以据我所知,我会把它添加到缓存中

Id是键,名称是值。

我的问题是,如果我有另一个名为“课程”的对象,我需要一个单独的缓存才能正确吗?因为如果它们位于同一个缓存中,则可能存在与Courses.Id相同的Customer.Id。

或者实现这个的最佳方式是什么? (第一次实现缓存,也是android的新手)。

1 个答案:

答案 0 :(得分:1)

通常,您为相同类型的对象创建缓存。因此,您将拥有Customer的缓存和Courses的缓存。如果您发现需要将不同类型的对象分组到同一个缓存中,那么您可能会找到一个共同的祖先,它们都是子类以用作缓存类型。例如,您可以为Animal创建一个缓存,然后DogCat都可以进入。或者您可以使其完全通用,只需使用Object。但是要小心,正如您所说,如果您将其用作键,则需要跟踪每个对象的不同id值如何与其他对象类型一起运行。