我正在做图像缓存,以便从网络共享和/或互联网更快下载。目前,这个缓存在内存中。通过Java中的对象的深度(相对于浅)来限制缓存?
是否有可能(的prelimilarly BufferedImageSize
)对象的深尺寸限制缓存?
缓存被初始化像下面
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
....
imageCache = CacheBuilder.newBuilder()
.maximumSize(cacheSize)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build(
new CacheLoader<String, DeferredImage>() {
public DeferredImage load(String pathname) throws IOException {
return new DeferredImage(pathname);
}
});
哪里DeferredImage
是围绕BufferedImage
的包装,以方便在不同的线程负载。
是否有可能一些代码大小检查,其中考虑到在高速缓存中没有的条目数,但它们的字节大小?
UPDATE
我发现maximumWeight() method但如果这就是我要找不解地问:文档无处状态,即权重的总和计算。