Comment calcule-t-on la taille de bitmap? Ma compréhension est qu'il devrait soutenir trois écrans complets de la présentation Google I/O sur Volley. Est-ce que quelqu'un sait comment je peux calculer la taille de la mémoire pour trois écrans complets sur un appareil Android donné? Je pense que cela faisait référence à la mise en cache inmemory donc un bitmapCache mais pas sûr.BitmapLruCache for Volley Calcul de la taille du cache?
Maintenant, j'ai vu le calcul suivant suggéré, mais je ne sais pas si cela est cohérent avec la conservation de trois écrans de données en mémoire cache.
final int maxMemory = (int) (Runtime.getRuntime().maxMemory()/1024);
final int cacheSize = maxMemory/8;
MISE À JOUR: Quelle est la logique d'utilisation de 1/8e de la mémoire totale pour le cache. En quoi cela se compare-t-il à la conservation de trois écrans de données?
Merci
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;
import com.android.volley.toolbox.ImageLoader.ImageCache;
public class LruBitmapCache extends LruCache<String, Bitmap> implements ImageCache {
public LruBitmapCache(int maxSize) {
super(maxSize);
}
@Override
protected int sizeOf(String key, Bitmap value) {
return value.getRowBytes() * value.getHeight();
}
@Override
public Bitmap getBitmap(String url) {
return get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
put(url, bitmap);
}
}
Quelqu'un pourrait-il commenter le raisonnement de maxMemory/8? – TestBest
Quelle est la logique d'utilisation de 1/8ème de la mémoire max pour Bitmap Cache? – TestBest