Java 用对象实现LruCache
我正在考虑为android实现离线模式,但要实现这一点,我需要实现一个缓存系统。我读了一些书,有人建议我使用LruCache,并在这里看到了一个图像示例。现在我不缓存图像,我想缓存对象。例如,我有一个名为“Customer”的对象,Customer有一个Id和一个名称,所以据我所知,我会将它作为 Id是键,名称是值 我的问题是,如果我有另一个名为“Courses”的对象,我将需要一个单独的缓存来正确处理它?。因为如果它们在同一个缓存中,则可能存在与Courses.Id相同的Customer.IdJava 用对象实现LruCache,java,android,lru,Java,Android,Lru,我正在考虑为android实现离线模式,但要实现这一点,我需要实现一个缓存系统。我读了一些书,有人建议我使用LruCache,并在这里看到了一个图像示例。现在我不缓存图像,我想缓存对象。例如,我有一个名为“Customer”的对象,Customer有一个Id和一个名称,所以据我所知,我会将它作为 Id是键,名称是值 我的问题是,如果我有另一个名为“Courses”的对象,我将需要一个单独的缓存来正确处理它?。因为如果它们在同一个缓存中,则可能存在与Courses.Id相同的Customer.Id
或者什么是实现这一点的最佳方式?。(第一次实现缓存,也是android的新功能)。通常为相同类型的对象创建缓存。因此,您将有一个用于
客户
的缓存和一个用于课程
的缓存。如果您发现需要将不同类型的对象分组到同一个缓存中,那么也许您可以找到一个共同的祖先,它们都可以作为缓存类型的子类使用。例如,您可以为Animal
创建一个缓存,然后Dog
和Cat
都可以进入。或者您可以使其完全通用,只需使用对象
。但是要小心,正如您所说的,如果要将每个对象的不同id值用作键,则需要跟踪每个对象的不同id值在其他对象类型中的行为