-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

最初にドキュメントを読んでから、ここに戻って具体的な質問をするべきだと思います。

SoftReference ドキュメント

Map クラスの containsKey メソッド

SynchronizedMap (マップ マップ) ドキュメント

于 2013-07-19T05:08:50.217 に答える