Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用对象实现LruCache_Java_Android_Lru - Fatal编程技术网

Java 用对象实现LruCache

Java 用对象实现LruCache,java,android,lru,Java,Android,Lru,我正在考虑为android实现离线模式,但要实现这一点,我需要实现一个缓存系统。我读了一些书,有人建议我使用LruCache,并在这里看到了一个图像示例。现在我不缓存图像,我想缓存对象。例如,我有一个名为“Customer”的对象,Customer有一个Id和一个名称,所以据我所知,我会将它作为 Id是键,名称是值 我的问题是,如果我有另一个名为“Courses”的对象,我将需要一个单独的缓存来正确处理它?。因为如果它们在同一个缓存中,则可能存在与Courses.Id相同的Customer.Id

我正在考虑为android实现离线模式,但要实现这一点,我需要实现一个缓存系统。我读了一些书,有人建议我使用LruCache,并在这里看到了一个图像示例。现在我不缓存图像,我想缓存对象。例如,我有一个名为“Customer”的对象,Customer有一个Id和一个名称,所以据我所知,我会将它作为

Id是键,名称是值

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


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

通常为相同类型的对象创建缓存。因此,您将有一个用于
客户
的缓存和一个用于
课程
的缓存。如果您发现需要将不同类型的对象分组到同一个缓存中,那么也许您可以找到一个共同的祖先,它们都可以作为缓存类型的子类使用。例如,您可以为
Animal
创建一个缓存,然后
Dog
Cat
都可以进入。或者您可以使其完全通用,只需使用
对象
。但是要小心,正如您所说的,如果要将每个对象的不同id值用作键,则需要跟踪每个对象的不同id值在其他对象类型中的行为