android加载大图推荐框架LargeImageView及所遇问题——部分机型图片模糊
2018-03-05 22:41
1051 查看
一般因为内存有限,如果在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'
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第三方框架universal-image-loader[图片缓存加载]及其OOM问题处理【常用】,CardView使用[给列表中项+边框]
- 剖析Picasso加载压缩本地图片流程(解决Android 5.0部分机型无法加载本地图片的问题)
- android 自定义控件之NetWorkImageView 处理listview等控件中的图片加载乱序问题
- 【Android】Universal Image Loader图片加载框架无法加载https图片问题解决方法
- 由于Android列表视图复用到之后的Imageview异步加载图片时候闪烁问题
- 详解Android中Glide与CircleImageView加载圆形图片的问题
- Android在打开一个新的Activity浏览大图时使用ImageView/PhotoView的时候图片显示在屏幕上部的问题
- Android 使用图片异步加载框架Universal Image Loader的问题
- Android ImageView图片浏览器(ImageView加载sd卡图片资源)的内存溢出问题分析
- android 部分手机拍照后在imageView中显示预览图片被旋转的问题
- Android Glide加载图片圆角效果与ImageView的ScaleType冲突问题
- android之ImageView显示超长大图模糊的问题
- Android ImageView图片浏览器(ImageView加载sd卡图片资源)的内存溢出问题分析
- android imageview 加载大图片防止内存溢出的方法
- 图片异步加载框架 Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- Android - 小功能 使用ImageView加载本地SdCard图片和加载网络图片
- 图片异步加载框架 Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- 关于Android ImageView 图片显示的几个问题