1

ネットワーク共有やインターネットからのダウンロードを高速化するために、画像のキャッシュを実行しています。現在、このキャッシュはメモリ内にあります。

オブジェクトの深いサイズ (事前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

キャッシュ内のエントリ数ではなく、バイト単位のサイズを考慮したサイズ チェックをコーディングすることは可能ですか?

アップデート

maximumWeight() メソッドを見つけましたが、これが探しているものかどうかわかりませんでした。ドキュメントには、重みの合計が計算されるとはどこにも記載されていません。

4

1 に答える 1