Failed to allocate a 76 byte allocation with 0 free bytes and 0B until OOM

使用ImageLoader在调用displayImage,出现了oom。提示信息:
“Failed to allocate a 76 byte allocation with 0 free bytes and 0B until OOM”

解决:

1.初始化时在Appliction中设置ImageLoaderConfiguration,如下:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
                .threadPriority(Thread.NORM_PRIORITY - 4)
//                .denyCacheImageMultipleSizesInMemory()
                .discCacheFileNameGenerator(new Md5FileNameGenerator())
                .tasksProcessingOrder(QueueProcessingType.FIFO)
                .threadPoolSize(3) 
                .memoryCache(new WeakMemoryCache() )
                .discCacheFileCount(60)
                .build();
    ImageLoader.getInstance().init(config);

2.加载图片时设置DisplayImageOptions,如下:

public static DisplayImageOptions HOME_PAGE_GRIDVIEW_IMAGE_OPTION = new DisplayImageOptions.Builder()
        /*      // 设置图片下载期间显示的图片
                .showImageOnLoading(R.drawable.test_viewpagerimage)
                // 设置图片Uri为空或是错误的时候显示的图片
                .showImageForEmptyUri(R.drawable.test_viewpagerimage)
                // 设置图片加载或解码过程中发生错误显示的图片
                .showImageOnFail(R.drawable.test_viewpagerimage)
                // 设置下载的图片是否缓存在内存中*/
                .imageScaleType(ImageScaleType.IN_SAMPLE_INT)
                .cacheInMemory(false)
                // 设置下载的图片是否缓存在SD卡中
                .cacheOnDisk(true)
                .considerExifParams(true)
                .bitmapConfig(Bitmap.Config.RGB_565)
                .build();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值