2013-07-19 3 views
-3

Может кто-нибудь, пожалуйста, любезно объясните этот код мне. Я не совсем понимаю это. он предназначен для создания памяти для загрузки изображения. В частности, я хотел бы знать * 1. Что такое softReference * 2. Что содержитKey * 3. Является ли softReference сохраненным в ячейке памяти * 4. Почему Cashe является synchronizedMap (кэш = Collections.synchronizedMap)memory 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(); 
} 
} 

ответ

Смежные вопросы