这里用的Glide是4.11.0的

第一种方法:

Glide.with(activity).load(yourUrl).asBitmap().into(new SimpleTarget<Bitmap>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {@Overridepublic void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {int imageWidth = resource.getWidth();int imageHeight = resource.getHeight();int height = ScreenUtils.getScreenWidth() * imageHeight / imageWidth;ViewGroup.LayoutParams para = imageView.getLayoutParams();para.height = height;para.width = ScreenUtils.getScreenWidth();imageView.setImageBitmap(resource);}});

上面这个是主要加载长图或者大图的,这里SimpleTarget《Bitmap》 可以不用传参数直接空构造就好了为啥?

/*** Constructor for the target that uses {@link Target#SIZE_ORIGINAL} as the target width and* height.*/// Public API.@SuppressWarnings("WeakerAccess")public SimpleTarget() {this(SIZE_ORIGINAL, SIZE_ORIGINAL);}

glide源码已经设置了初始默认值了,设置了也没有关系

布局:

 <androidx.core.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:fillViewport="true"app:layout_constraintTop_toBottomOf="@+id/constraint_head"><androidx.appcompat.widget.AppCompatImageViewandroid:id="@+id/img_content"android:adjustViewBounds="true"android:layout_marginBottom="@dimen/dp50"android:layout_width="match_parent"android:layout_height="wrap_content" /></androidx.core.widget.NestedScrollView>

仔细看布局,

android:fillViewport="true"

这个方法是nestedscrollview布局不能铺满问题所致

还有一个属性:

android:adjustViewBounds="true"

这个方法是防止有空白出现问题

这个基本可以实现了,但可能图片显示会有问题,因为你不知道会出现什么样的图片,比如,宽高都大于屏幕的大小,这个时候你要进行计算了。这里因为通过glide的几级缓存,已经被压缩过了,有点模糊,之后会有其他的方法,后续补充。

第二种方法:

在后面我找到了一个更好的方法是加载的图片没有上个模糊,并且还要简单一点代码贴上:

 val requestOptions = RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL).override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)  //关键代码,加载原始大小.format(DecodeFormat.PREFER_RGB_565)  //设置为这种格式去掉透明度通道,可以减少内存占有.placeholder(R.drawable.img_error).error(R.drawable.img_error)Glide.with(context).setDefaultRequestOptions(requestOptions).load(url).into(target)

android开发使用Glide加载图片模糊不清的解决方法

第三种就是三方库了

https://github.com/davemorrissey/subsampling-scale-image-view

这里没有用过,需要自己去实现了

Glide加载大图长图相关推荐

  1. Android 加载超大长图及原理

    Android 加载超大长图及原理 我们在开发中偶尔会遇到加载超大长图,类似于微信n多页聊天记录截图加载.但这类图片一般都会很大,几兆.十几兆.甚至几十兆,很容易造成内存溢出,今天笔者给大家提供一个可 ...

  2. Android 图片预览器加载微博长图,大图

    通常图片预览的做法是ViewPager+PhotoView,但是遇到很长的图(比如微博长图),在设置 android:scaleType="centerCrop" 这个属性的前提下 ...

  3. Glide 加载webp动图

    前提 公司新需求要求视频封面加载动图,但是由于Gif上传的图片过大,所以为了节省开销,对图片进行了处理,最后给到客户端的是webp格式的图片链接. 1.验证webp格式的图片链接是否是动图,测试时,将 ...

  4. android 加载大长图,android加载长图片的方法

    1.很多应用都有加载一张长图片,用户可以上下拉动图片. 自己没有好的想法,那只好百度咯.结果都说用webview来实现,好吧那就只好先试一下了. 2.自己写了简单的html,然后webview加载.图 ...

  5. android加载长图宽度自适应,Android使用Glide加载超长图

    app项目开发过程中,大都有查看图片详情的功能模块.实现的方式一般都是通过viewpager+photoView+Glide的方式.这种方式下,如果碰到加载超长图,比如说高清版的清明上河图/世界地图, ...

  6. Glide 加载圆形头像和gif 图

    首先到github 上搜索glide 看看版本号 目前是 implementation 'com.github.bumptech.glide:glide:4.9.0'annotationProcess ...

  7. Android高效加载大图、多图解决方案,有效避免程序内存溢出现象

    好久没有写博客了,今天就先写一个小的关于在Android中加载大图如何避免内存溢出的问题. 后面会写如何使用缓存技术的核心类,android.support.v4.util.LruCache来加载图片 ...

  8. Glide加载常用类型图片(带白色边框的圆形图、圆角矩形图片、圆形图片)

    一:依赖包: Glide_github implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com. ...

  9. Android开发笔记(一百七十一)使用Glide加载网络图片

    如何方便而又快速地显示网络图片,一直是安卓网络编程的热门课题,前些年图片缓存框架Picasso.Fresco等等大行其道,以至于谷歌按捺不住也开发了自己的Glide开源库.由于Android本身就是谷 ...

最新文章

  1. 烂泥:mysql数据库使用的基本命令
  2. 互联网晚报 | 4月13日 星期三 | 阿里云人事大变动;老坛酸菜方便面重返超市货架;工信部:加快5G全连接工厂建设...
  3. C#删除字符串最后一个字符的几种方法
  4. python常用第三方库(转载)
  5. 【概率论与数理统计】小结8 - 三大抽样分布
  6. VisualStudio VC redist各版本下载链接
  7. 转:短小强悍的JavaScript异步调用库
  8. win2008Server 部署网站
  9. 信息 按顺序打印commit_风火快递单打印软件按导入数据顺序批量打印,但打出来的顺序和导入的表格里的?...
  10. zabbix 使用教程
  11. 皇后谜题Python
  12. MAC主机eclipse连接parallels内win7虚拟机oracle
  13. 虚幻4引擎2d游戏基础
  14. excel如何打开100万行以上的csv文件
  15. 如何在终端里面使用ping来查局域网活动ip
  16. Photoshop(4)做海报的心得
  17. Electron主进程与渲染进程相互通信
  18. 2020考研,老学长帮你规划
  19. ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
  20. 火狐浏览器打不开,但是进程中有,怎么办?

热门文章

  1. 继金山WPS之后,珠海再出神级电子表格,雷军嫡系出品
  2. EZDML的SQL数据查询功能介绍
  3. T5450处理器 七款惠普迅驰4笔记本现身
  4. HarmonyOS(鸿蒙)运动手表—从零实现投骰子小游戏
  5. (毕业设计资料)基于单片机FM数字收音机电路系统
  6. 全国大学生数学建模竞赛
  7. VUE + TS 开发实践
  8. 【video】PPTV聚力年后或将改名苏宁视频 聚力体育划归苏宁搬至南京
  9. 推荐十个精彩的Ubuntu鼠标主题
  10. IPv6 基本首部、地址和过渡