2013-07-19 40 views
-3

有人可以請向我解釋這段代碼。我不完全明白這一點。它是用於創建一個內存cashe上傳圖像.. 特別是,我想知道 * 1.什麼是softReference * 2.什麼是包含密鑰 * 3.軟引用存儲在內存cashe * 4。爲什麼Cashe是synchronizedMap(緩存= Collections.synchronizedMap)內存cashe上傳圖片到android

非常感謝您

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(); 
} 
} 

回答