-3

有人可以向我解释一下这段代码吗?我不完全明白这一点。它是用于创建用于上传图像的内存缓存.. 特别想知道 * 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(); 
} 
}
4

1 回答 1

0

我相信您应该先阅读文档,然后再回到这里提出您的具体问题。

软参考文档

地图类的 containsKey 方法

synchronizedMap(地图地图)文档

于 2013-07-19T05:08:50.217 回答