package com.fedorvlasov.lazylist;

import java.lang.ref.SoftReference;
import java.util.HashMap;
import android.graphics.Bitmap;

public class MemoryCache {
    private HashMap<String, SoftReference<Bitmap>> cache=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();
    }
}
@@ -26,17 +26,19 @@
 azylist;
-%0A
+%0D%0A%0D
 %0Aimport 
@@ -65,16 +65,48 @@
 ference;
+%0D%0Aimport java.util.Collections;%0D
 %0Aimport 
@@ -123,16 +123,40 @@
 HashMap;
+%0D%0Aimport java.util.Map;%0D
 %0Aimport 
@@ -179,17 +179,19 @@
 .Bitmap;
-%0A
+%0D%0A%0D
 %0Apublic 
@@ -209,16 +209,17 @@
 yCache %7B
+%0D
 %0A    pri
@@ -223,20 +223,16 @@
 private 
-Hash
 Map%3CStri
@@ -264,16 +264,44 @@
 %3E cache=
+Collections.synchronizedMap(
 new Hash
@@ -336,22 +336,25 @@
 tmap%3E%3E()
+)
 ;
+%0D
 %0A    
+%0D
 %0A    pub
@@ -379,16 +379,17 @@
 ing id)%7B
+%0D
 %0A       
@@ -415,16 +415,17 @@
 Key(id))
+%0D
 %0A       
@@ -441,16 +441,17 @@
 rn null;
+%0D
 %0A       
@@ -491,16 +491,17 @@
 get(id);
+%0D
 %0A       
@@ -522,19 +522,22 @@
 t();
+%0D
 %0A    %7D
+%0D
 %0A    
+%0D
 %0A   
@@ -579,16 +579,17 @@
 bitmap)%7B
+%0D
 %0A       
@@ -638,23 +638,26 @@
 itmap));
+%0D
 %0A    %7D
-%0A
+%0D%0A%0D
 %0A    pub
@@ -674,16 +674,17 @@
 lear() %7B
+%0D
 %0A       
@@ -698,16 +698,18 @@
 clear();
+%0D
 %0A    %7D
+%0D
 %0A%7D

Synchronize HashMap in MemoryCache