使用通用图像加载器的OutOfMemory

时间:2014-06-22 08:41:40

标签: android listview universal-image-loader

我在我的应用程序中使用通用图像加载器,我的应用程序在ListView中包含很多图像

我在我的适配器

中使用此方法为confg和iam创建了一个方法

首先:有时这会使我的应用程序因OutOfMemeory错误而停止。 第二:滚动时我的ListView太慢了。

剂量我的配置正确或我必须改变它

并且在这样的方法中使用此配置是错误的

并从5个不同的ListView

调用此方法

这是我的方法

 public final static DisplayImageOptions imageLoaderConfig(Context context) {

    DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
            .bitmapConfig(Bitmap.Config.RGB_565)
            .resetViewBeforeLoading(true)
            .showImageForEmptyUri(R.drawable.shadow)
            .cacheInMemory(true).cacheOnDisc(true).build();

    File cacheDir = StorageUtils.getCacheDirectory(context);
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            context)
            .memoryCacheExtraOptions(480, 800)


            .taskExecutor(null).taskExecutorForCachedImages(null)
            .threadPoolSize(5)

            .threadPriority(Thread.NORM_PRIORITY)

            .denyCacheImageMultipleSizesInMemory()

            .memoryCacheSize(15 * 1024 * 1024)

            .imageDownloader(new BaseImageDownloader(context)) 
            .imageDecoder(new BaseImageDecoder(true)) 
            .defaultDisplayImageOptions(defaultOptions)
            .writeDebugLogs().build();

    ImageLoader.getInstance().init(config);
    return defaultOptions;

}

这是我的服装清单

 public class CustomListViewWallPost extends
    ArrayAdapter<getterssetters.Items_WallPost> {

getterssetters.Items_WallPost postItem;
private int mLastFirstVisibleItem = 0;
static Context context;
List<getterssetters.Items_WallPost> objects_;
int width_;
DisplayImageOptions defaultOptions;
ImageLoader imageLoader;

public CustomListViewWallPost(Context context, int textViewResourceId,
        List<getterssetters.Items_WallPost> objects, int width_) {
    super(context, textViewResourceId, objects);

    this.context = context;

    this.width_ = width_;
    this.objects_ = objects;
    defaultOptions = PublicMethods
            .imageLoaderConfig(context);
    imageLoader = ImageLoader.getInstance();

}

0 个答案:

没有答案