私は、MemorySizeCalculator
についてGlide
について不思議です。デフォルトメモリキャッシュサイズはgetMemoryCacheSize()
から、ビットマッププールサイズはgetBitmapPoolSize()
から取得できます。GlideのMemoryCacheSizeとBitmapPoolSizeの違い
MemorySizeCalculator:
/**
* Returns the recommended memory cache size for the device it is run on in bytes.
*/
public int getMemoryCacheSize() {
return memoryCacheSize;
}
/**
* Returns the recommended bitmap pool size for the device it is run on in bytes.
*/
public int getBitmapPoolSize() {
return bitmapPoolSize;
}
私は同様にメモリキャッシュの概念を理解ではなく、ビットマップ・プールのサイズを確認しますので、私は、このリンクからいくつかの情報が見つかりました:https://medium.com/@ali.muzaffar/performance-improvement-and-bitmap-pooling-in-android-f97b380cf965
ビットマップ・プーリングは簡単です(毎回 が複雑になりますが)毎回 という新しいビットマップを作成するのではなく、ビットマップを再利用することを目指しています。簡単に言えば、ビットマップが必要なときは、 ビットマップスタックをチェックして、使用可能なビットマップがあるかどうかを確認します。 ビットマップがない場合は、新しいビットマップを作成します。それ以外の場合は、スタックから ビットマップをポップして再利用します。その後、ビットマップ で作業を終えたら、スタックに置くことができます。
スタックにプッシュされたビットマップもメモリにキャッシュされていると思います。このコンセプトを理解するのを手助けできる人はいますか?