android加载大图推荐框架LargeImageView及所遇问题——部分机型图片模糊

    一般因为内存有限,如果在android上不加处理地在ImageView上加载大图,非常容易造成卡顿甚至OOM,所以常见的框架如glide都会自动对图片进行压缩,然后再加载。但有时候这并不是我们的目的,当我们想看高清图片时必须获取到原图。这里推荐使用LargeImageView框架,它支持手势缩放,而且还有比另一个有名的框架subsampling-scale-image-view对比优势的地方:

    1、LargeImageView初次加载后,还能进行缩小,subsampling-scale-image-view不能;

    2、LargeImageView可以放大的级数更多;

    3、LargeImageView双击放大时的倍数较适宜,subsampling-scale-image-view直接放大到最大倍数。

但这里要说一个LargeImageView的坑,最近有其他部门同事反映,他们的手机在查看大图时图片仍然是模糊的,如OPPO R11和小米Note s4等,我定位了好久发现是LargeImageView的问题,最后发现问题在于BlockImageLoader类的以下方法:

    private static Bitmap acquireBitmap() {
        Bitmap bitmap = bitmapPool.acquire();
        if (bitmap == null) {
            bitmap = Bitmap.createBitmap(BASE_BLOCKSIZE, BASE_BLOCKSIZE, Bitmap.Config.RGB_565);
        }
        return bitmap;
    }

这里的Bitmap.Config.RGB_565应该改为Bitmap.Config.ARGB_8888,问题解决!

万幸最新的版本已经解决了这个问题,而且还是一个月前才提交的,大家可以放心使用。

导入到AndroidStudio: compile 'com.shizhefei:LargeImageView:1.1.0'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值