学习笔记之——内存溢出OOM问题时间:2021-05-17 20:55:241. 场景 项目中多个页面有较多图片 2. 思路 1) 延迟加载 2) 内存缓存 3) 外存缓存 4) 缓存删除策略 LruCache 5) 当某个对象不需要时,释放内存 6) 使用库 Fresco 7) 减少或取消内存缓存 例如:详情页面,较大图片 8) 不可见的页面,暂时清除内存缓存,当重新可见时,刷新页面 9) 首先将大图下载到SDCard中,再边读边压缩 3. Fresco使用步骤 功能:类似于UIL的图像处理库,性能强大 优势:使用共享内存 C++ https://github.com/facebook/fresco http://fresco-cn.org/docs/index.html 使用步骤 1) 依赖库fresco 2) 在Application中初始化 3) 在布局中使用SimpleDraweeView替换ImageView 注意:必须明确指定宽高,不能用wrap_content 4) 为draweeView设置url,显示图片 4. 服务端返回大量较大图片 问题分析:在内存中下载图片,图片越大占内存越大 解决思路:首先将图片下载到SDCard中,然后边读边压缩