美文网首页安卓工具相关
Android Glide加载大量图片,出现OOM问题解决方案

Android Glide加载大量图片,出现OOM问题解决方案

作者: 因为我的心 | 来源:发表于2022-02-21 10:26 被阅读0次

1、引入largeHeap属性,让系统为App分配更多的独立内存。
在AndroidManfiest.xml文件的 applaction标签下加入
android:largeHeap="true"

2、设置skipMemoryCache(true),禁止Glide内存缓存。

3、自定义GlideModule。设置MemoryCache和BitmapPool大小。

4、Glide4.0版本后,使用asDrawable代替asBitmap,drawable更省内存。

5、ImageView的scaleType为fitXY时,改为fitCenter/centerCrop/fitStart/fitEnd显示。

6、不使用application作为context。当context为application时,会把imageView是生命周期延长到整个运行过程中,imageView不能被回收,从而造成OOM异常。

7、使用application作为context。但是对ImageView使用弱引用或软引用,尽量使用SoftReference,当内存不足时,将及时回收无用的ImageView。

8、当列表在滑动的时候,调用Glide的pauseRequests()取消请求,滑动停止时,调用resumeRequests()恢复请求。

9、Try catch某些大内存分配的操作。考虑在catch里面尝试一次降级的内存分配操作。例如decode bitmap的时候,catch到OOM,可以尝试把采样比例再增加一倍之后,再次尝试decode。

10、BitmapFactory.Options和BitmapFactory.decodeStream获取原始图片的宽、高,绕过Java层加载Bitmap,再调用Glide的override(width,height)控制显示。

11、图片局部加载。参考:SubsamplingScaleImageView,先将图片下载到本地,然后去加载,只加载当前可视区域,在手指拖动的时候再去加载另外的区域。
————————————————
版权声明:本文为CSDN博主「ColinTX」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/DCTColin/article/details/108007900

相关文章

  • 性能优化

    问题:setImageResource()造成卡顿和oom解决方案:使用图片加载框架Glide加载图片

  • Android Glide加载大量图片,出现OOM问题解决方案

    1、引入largeHeap属性,让系统为App分配更多的独立内存。在AndroidManfiest.xml文件的 ...

  • Glide

    ImageView的scaleType设置不当,导致使用Glide时出现OOM Glide图片加载库的使用

  • Glide

    Glide常用: ////原生加载,图片过大,OOM异常 使用Glide加载 Glide 1.简介 Glide,一...

  • Glide 源码分析之一 with

    前言 最近使用到 Glide 加载本地大图,写代码时想看看 Glide 有没有压缩图片避免出现 OOM 问题,随手...

  • Glide

    Glide常用: //原生加载,图片过大,OOM异常 使用Glide加载 Glide 1.简介 Glide,一个被...

  • 框架原理

    1.Glide 注意:因为android默认给每一个应用分配16M的内存,如果加载过多的图片的话,容易出现OOM ...

  • 图片选择KSelectImages

    通常android中展示大量图片的时候,容易出现OOM,这个图片框架包括除了有效的解决了图片的OOM问题,还提供了...

  • Glide源码学习随笔

    Glide是什么? Glide是一个Android的图片加载和缓存库,它主要专注于大量图片的流畅加载。是googl...

  • Glide最新版V4使用指南

    概述 Glide是一个Android的图片加载和缓存库,它主要专注于大量图片的流畅加载,Glide几乎可以胜任任何...

网友评论

    本文标题:Android Glide加载大量图片,出现OOM问题解决方案

    本文链接:https://www.haomeiwen.com/subject/pfgblrtx.html