Android图片管理组件(双缓存+异步加载)
2014-08-19 11:23
465 查看
转自:http://www.oschina.net/code/snippet_219356_18887?p=3#comments
ImageManager2这个类具有异步从网络下载图片,从sd读取本地图片,内存缓存,硬盘缓存,图片使用动画渐现等功能,已经将其应用在包含大量图片的应用中一年多,没有出现oom
Android程序常常会内存溢出,网上也有很多解决方案,如软引用,手动调用recycle等等。但经过我们实践发现这些方案,都没能起到很好的效果,我们的应用依然会出现很多oom,尤其我们的应用包含大量的图片。android3.0之后软引用基本已经失效,因为虚拟机只要碰到软引用就回收,所以带不来任何性能的提升。
我这里的解决方案是HandlerThread(异步加载)+LruCache(内存缓存)+DiskLruCache(硬盘缓存)。
作为程序员,我也不多说,直接和大家共享我的代码,用代码交流更方便些。
源码demo地址:https://github.com/yueyueniao2012/multiimagechooser
标签:
<无>
1. [文件]
?
举报
开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»
<
1
2
3
回到顶部
回到评论列表
开源从代码分享开始
分享代码
roc2013的其他代码
SlidingDrawer源码(0评/938阅,1年前)
自定义Android滑动式菜单SlidingMenu(不依赖任何第三方库)(35评/18351阅,1年前)
Android自定义控件:DragSortListview(11评/4356阅,1年前)
android自定相册(7评/1391阅,1年前)
仿大众点评下拉菜单实现(3评/2888阅,1年前)
全部(6)...
ImageManager2这个类具有异步从网络下载图片,从sd读取本地图片,内存缓存,硬盘缓存,图片使用动画渐现等功能,已经将其应用在包含大量图片的应用中一年多,没有出现oom
Android程序常常会内存溢出,网上也有很多解决方案,如软引用,手动调用recycle等等。但经过我们实践发现这些方案,都没能起到很好的效果,我们的应用依然会出现很多oom,尤其我们的应用包含大量的图片。android3.0之后软引用基本已经失效,因为虚拟机只要碰到软引用就回收,所以带不来任何性能的提升。
我这里的解决方案是HandlerThread(异步加载)+LruCache(内存缓存)+DiskLruCache(硬盘缓存)。
作为程序员,我也不多说,直接和大家共享我的代码,用代码交流更方便些。
源码demo地址:https://github.com/yueyueniao2012/multiimagechooser
标签:
<无>
代码片段(1)
[全屏查看所有代码]
1. [文件]
ImageManager2.java ~ 13KB
下载(468)
?开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»
发表评论
回到顶部
网友评论(44)
41楼:木法沙王 发表于 2014-04-10 17:26 回复此评论 //如果本地url即读取sd相册图片,则直接读取,不用经过DiskCache if (url.toLowerCase().contains("dcim") 建议把dcim改为mnt, 这样别的路经下图片也能加载了 |
42楼:迷途的小羔羊 发表于 2014-05-02 16:14 回复此评论 我他妈的非常感谢你,真心的 |
43楼:wgggfiy 发表于 2014-06-05 10:56 回复此评论 请问这个缓存何时可以清空呢??我担心内存和磁盘会慢慢越积越大 |
44楼:巴顿将军 发表于 2014-07-19 18:16 回复此评论 什么东西呀,我跑不起来,看不到什么效果呢 |
1
2
3
回到评论列表
开源从代码分享开始
分享代码
roc2013的其他代码
SlidingDrawer源码(0评/938阅,1年前)
自定义Android滑动式菜单SlidingMenu(不依赖任何第三方库)(35评/18351阅,1年前)
Android自定义控件:DragSortListview(11评/4356阅,1年前)
android自定相册(7评/1391阅,1年前)
仿大众点评下拉菜单实现(3评/2888阅,1年前)
全部(6)...
相关文章推荐
- Android图片管理组件(双缓存+异步加载)
- Android图片管理组件(双缓存+异步加载)
- Android图片管理组件(双缓存+异步加载)
- Android实现ListView异步加载图片+缓存+线程池管理
- android异步图片加载三之handler+线程池+消息队列模式+缓存
- android ListView异步加载图片(双缓存)
- SDWebImage——一个可管理远程图片加载的类库,异步加载图片设置图片大小,添加图片缓存
- android异步加载图片显示,并且对图片进行缓存实例
- android之图片异步加载并缓存到本地
- Android listview异步加载图片(线程池,内存缓存,SD卡缓存)优化显示
- android异步图片加载三之handler+线程池+消息队列模式+缓存
- android ListView异步加载图片(双缓存)
- Android 异步加载图片+线程池+缓存(详细介绍,深入了解)
- Android 从缓存中读取图片并异步加载的类
- 我的Android进阶之旅------>android异步加载图片显示,并且对图片进行缓存实例
- android listview分页异步加载图片及图片缓存
- android开发--ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)
- android异步图片加载中的图片缓存
- Android之ListView异步加载网络图片(优化缓存机制)
- android异步加载图片并缓存到本地实现方法