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'

你可能感兴趣的:(android,大图)