我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家参考。尤其是新手,看完这...
分类:
Web程序 时间:
2015-03-17 23:17:43
阅读次数:
198
之前在郭大神的博客看到使用LruCache算法实现图片缓存的.这里仿效他的思路,自己也写了一个. 并加入ConcurrentHashMap>去实现二级缓存,因为ConcurrentHashMap是多个锁的线程安全,支持高并发.很适合这种频繁访问读取内存的操作.
下面整个思路是,使用了系统提供的LruCache类做一级缓存, 大小为运行内存的1/8,当LruCache容量要满的时候,会自动...
分类:
移动开发 时间:
2015-03-11 09:23:59
阅读次数:
261
【运行说明】运行AndBaseDemo需要将文件中的AndBase库Add进AndroidBaseDemo中。
1.andbase中包含了大量的开发常用手段。
如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,SOAP工具类,异步Task,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提...
分类:
数据库 时间:
2015-03-10 17:18:27
阅读次数:
184
在教你写Android ImageLoader框架系列博文中,我们从基本架构到具体实现已经更新了大部分的内容。今天,我们来讲最后一个关键点,即图片的缓存。为了用户体验,通常情况下我们都会将已经下载的图片缓存起来,一般来说内存和本地都会有图片缓存。那既然是框架,必然需要有很好的定制性,这让我们又自然而然的想到了抽象。下面我们就一起来看看缓存的实现吧。...
分类:
移动开发 时间:
2015-03-10 12:07:01
阅读次数:
9685
【运行说明】运行AndbaseDemo需要将文件中的Andbase库Add进demo中。
1.andbase中包含了大量的开发常用手段。
如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,SOAP工具类,异步Task,常用工具类(字符串,日期,文件处理,图片处理工具类等),能够使您的应用在团队开发中减少冗余代码,很大的提高了代码的维护性与开发高效...
分类:
数据库 时间:
2015-03-10 10:28:52
阅读次数:
151
上周为360全景项目引入了图片缓存模块。因为是在Android4.0平台以上运作,出于惯性,都会在设计之前查阅相关资料,尽量避免拿一些以前2.3平台积累的经验来进行类比处理。开发文档中有一个BitmapFun的示例,仔细拜读了一下,虽说围绕着Bitmap的方方面面讲得都很深入,但感觉很难引入到当前项...
分类:
其他好文 时间:
2015-03-09 15:55:30
阅读次数:
139
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage。但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯、购物、阅读类app的标配功能。今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取、删除缓存文件的实现。获取缓...
分类:
移动开发 时间:
2015-03-06 12:26:45
阅读次数:
173
某些记录数据,图片获取是根据记录的Id来的,即一个Id会对应一个图片位置。那么我们对图片进行修改的时候,如果Id不变,那么图片的路径(即src)是不变的。由于浏览器缓存的原因,对于不变的图片路径,会加载缓存。这样,我们是看不到编辑过的图片的。这时,我们只有在图片的路径后面加上一个随机参数,使图片路径...
分类:
其他好文 时间:
2015-03-04 12:31:03
阅读次数:
149
特效:http://www.androidviews.net/http://www.theultimateandroidlibrary.com/常用效果:1.https://github.com/novoda/ImageLoader 异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib...
分类:
移动开发 时间:
2015-03-02 10:46:55
阅读次数:
337
首先,他采用了强引用(StrongReference)和软引用(SoftReference)来保存下载的图片(bitmap),具体做法是:StrongReference来保存一定容量的图片(bitmap),当超过这个容量的时候就将其移入SoftReference来保存.
bitmap的加载实际上采用了AsyncTask的多线程方式, 所以是很可能出现多个修改并发操作的.所以采用ConcurrentHashMap最合适.ConcurrentHashMap采用了锁分离技术可以很好的解决多操作并发进行,并且也是...
分类:
移动开发 时间:
2015-02-28 18:47:33
阅读次数:
169