私は、ネットワーク共有やインターネットからより速くダウンロードするために画像のキャッシュを行っています。現在、このキャッシュはメモリ内にあります。Javaのオブジェクトの深い(浅い)サイズのキャッシュを制限しますか?
オブジェクトの深いサイズでキャッシュを制限することはできますか(前にはBufferedImageSize
)。
キャッシュはDeferredImage
は別のスレッドでロードを容易にするBufferedImage
のラッパーである
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);
}
});
を次のように初期化されます。
キャッシュのエントリ数ではなくサイズ(バイト単位)を考慮したサイズチェックをコーディングすることは可能ですか?
UPDATE
私はmaximumWeight() methodが見つかりましたが、この場合、私は探しています何を理解していなかった:どこのドキュメントは、重みの合計が計算されていることを、述べています。