1

I am trying to display facebook Newsfeed in my application. I got the urls of the images and I tried to display them by using the ImageLoader class , MemoryCache class. I am getting OOM Exception because of large Images.

I found in this link that using SoftReference or WeakReference will not handle large bitmaps.
To handle this I need to implement Different classes rather than using past ImageLoader,MemoryCache,FileCache classes.

Where can I find those classes?And How to implement them.

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

please help

user1891910
  • 919
  • 3
  • 18
  • 45

1 Answers1

2

have a look to this smple project link

it is refer as lazy loading of images

Pankaj Singh
  • 2,241
  • 2
  • 16
  • 16
  • I used the same classes in my application,but the thing is I am getting large Images from facebook api and I want to display them as it is,at this time I am getting OOM Exception because of Large Bitmaps.Is there any way to display Large Bitmaps ? – user1891910 Jan 08 '13 at 07:32
  • after using lazy loading still exception occurs? – Pankaj Singh Jan 08 '13 at 07:34
  • I am using the above MemoryCache class,did I need to change that?please find the edited post – user1891910 Jan 08 '13 at 07:42