アプリケーションにFacebookニュースフィードを表示しようとしています。画像を取得し、 ImageLoaderクラス、MemoryCacheクラスurls
を使用して表示しようとしました 。画像が大きいために取得しています。OOM Exception
この リンクで、 SoftReferenceまたはWeakReferenceを使用して も大きなビットマップは処理されないことがわかりました。
これを処理するには、過去を使用するのではなく、さまざまなクラスを実装する必要がありますImageLoader,MemoryCache,FileCache classes.
それらのクラスはどこにありますか?そしてそれらを実装する方法。
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();
}
}
助けてください