图片缓存问题的总结
2015-09-21 11:03
211 查看
图片导致内存溢出,对listView 或 GridView的处理有以下方法:
1.分批(懒加载)
2.异步
3 .缓存(存sd卡 和软引用)
4.考虑压缩图片
5.杀手锏:Application中的OnLowMermery()方法
6 try catch oom
最近因开发文件管理器,学习并用了LruCache 发现只要掌握三个类就能很好的图片缓存问题了,使用这三类时已包含了,分批,异步,缓存,图片压缩等知识点。
1. 第一个类是 BitmapFactory:图片的压缩 (参考详见:/article/1562144.html)
2. 第二个类是 LruCache :图片的缓存,这个类是将图片缓存到内存中,没有考虑存在sd卡中,文件管理器没有从网络下载,用他刚好,用DiskLruCache不合适。(参考文档同上)
3.第三个类是:DiskLruCache : 将图片缓存在sd卡中,或app所在的data目录下。(参考:/article/1562112.html)
用好以上三个类,就能实现oom问题了,如这三个类结合起来用实现 照片墙:/article/1562111.html
1.分批(懒加载)
2.异步
3 .缓存(存sd卡 和软引用)
4.考虑压缩图片
5.杀手锏:Application中的OnLowMermery()方法
6 try catch oom
最近因开发文件管理器,学习并用了LruCache 发现只要掌握三个类就能很好的图片缓存问题了,使用这三类时已包含了,分批,异步,缓存,图片压缩等知识点。
1. 第一个类是 BitmapFactory:图片的压缩 (参考详见:/article/1562144.html)
2. 第二个类是 LruCache :图片的缓存,这个类是将图片缓存到内存中,没有考虑存在sd卡中,文件管理器没有从网络下载,用他刚好,用DiskLruCache不合适。(参考文档同上)
3.第三个类是:DiskLruCache : 将图片缓存在sd卡中,或app所在的data目录下。(参考:/article/1562112.html)
用好以上三个类,就能实现oom问题了,如这三个类结合起来用实现 照片墙:/article/1562111.html
相关文章推荐
- 程序员修炼之道---从小工到专家(第7章)
- 设计模式学习笔记-适配器模式
- ImageView 的 src属性与background的区别
- C和C++混合编译
- 一叶落而知天下秋暨“今目标”反思
- MAC 安装Ruby On Rails
- 杂记
- IOS常用手势用法
- 【转】iOS深入学习(Block全面分析)
- 说说JSON和JSONP 也许你会豁然开朗
- Qt getOpenFileName函数使用详解
- Centos 6.4 KVM安装和配置
- 解决iOS、Android、Java加解密不一致的问题(DES、AES)
- 程序员修炼之道---从小工到专家(第6章)
- VisualSVN设置提交时必须输入log信息
- Python计算机视觉编程练习2:import 自定义模块
- Turtlebot 学习记录for ros
- ksh 简介
- stm32的总线AMBA、AHB、APB
- JAVA语言DES算法