誰か親切にこのコードを説明してくれませんか。私はこれを完全には理解していません。画像をアップロードするためのメモリキャッシュを作成するためのものです。 特に知りたいのは *1.softReference とは *2.containsKey とは *3.softReference はメモリキャッシュに格納されているのですか *4.Cashe が SynchronizedMap である理由(キャッシュ = Collections.synchronizedMap)
どうもありがとうございました
package com.androidhive.imagefromurl;
import java.lang.ref.SoftReference;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import android.graphics.Bitmap;
public class MemoryCache {
private Map<String, SoftReference<Bitmap>> cache=Collections.synchronizedMap(new HashMap<String, SoftReference<Bitmap>>());
public Bitmap get(String id){
if(!cache.containsKey(id))
return null;
SoftReference<Bitmap> ref=cache.get(id);
return ref.get();
}
public void put(String id, Bitmap bitmap){
cache.put(id, new SoftReference<Bitmap>(bitmap));
}
public void clear() {
cache.clear();
}
}