背景
現在、画像を大量に表示するアプリを作成しています。
イメージとしてはInstagramに近いUIです。
質問1
画像を保持するためのキャッシュ容量は、どのくらいまでが許容されるのでしょうか?
Instagramのキャッシュ使用量が128MBと表示されていました。
今後、ハードウェアのスペックが向上していくことは、現時点では考慮しない。
質問2
下記のスクリーンショットの内容に関してです。
"データ"は、何のデータを意味していますか?(SharedPreferencesやSQlite関係?)
"キャッシュ"は、何のデータを意味していますか?(DiskLruCacheなど?)
ドキュメントのどこを探して良いか、分からなかったため、質問しました。
コード
java
1public class ImageCache { 2 3 private static final int MAX_CACHE_SIZE = 10 * 1024 * 1024; // 10MB 4 //上記のサイズの適正値を知りたいです 5 6 public static LruCache<String, Bitmap> sLruCache; 7 8 static { 9 sLruCache = new LruCache<String, Bitmap>(MAX_CACHE_SIZE) { 10 @Override 11 protected int sizeOf(String key, Bitmap bitmap) { 12 return bitmap.getRowBytes() * bitmap.getHeight(); 13 } 14 }; 15 } 16 17 private ImageCache() { 18 } 19 20 public static void setImage(String key, Bitmap bitmap) { 21 if (getImage(key) == null) { 22 sLruCache.put(key, bitmap); 23 } 24 } 25 26 public static Bitmap getImage(String key) { 27 if(key == null){ 28 return null; 29 }else{ 30 return sLruCache.get(key); 31 } 32 } 33 34 public static void clearCache(){ 35 sLruCache.evictAll(); 36 } 37 38 public static void removeImage(String key){ 39 sLruCache.remove(key); 40 } 41} 42 43
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/05 22:31
2016/09/05 22:38