本文共 826 字,大约阅读时间需要 2 分钟。
一般因为内存有限,如果在android上不加处理地在ImageView上加载大图,非常容易造成卡顿甚至OOM,所以常见的框架如glide都会自动对图片进行压缩,然后再加载。但有时候这并不是我们的目的,当我们想看高清图片时必须获取到原图。这里推荐使用框架,它支持手势缩放,而且还有比另一个有名的框架对比优势的地方:
1、LargeImageView初次加载后,还能进行缩小,subsampling-scale-image-view不能;
2、LargeImageView可以放大的级数更多;
3、LargeImageView双击放大时的倍数较适宜,subsampling-scale-image-view直接放大到最大倍数。
但这里要说一个的坑,最近有其他部门同事反映,他们的手机在查看大图时图片仍然是模糊的,如OPPO R11和小米Note s4等,我定位了好久发现是的问题,最后发现问题在于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'
转载地址:http://borki.baihongyu.com/