android 网络图片双缓存
Android每次加载图片很浪费时间。所以设计了一个图片缓存技术来解决每次android手机加载图片的问题 内存的读取速度是最快的,然后是文件的读取速度,最后是网络资源的读取 既然内存的读取时间最快,我们好好利用内存资源。将内存再分两层缓存 强引用缓存不会轻易被回收,来保存常用数据,不常用的资源放入软引用缓存中。 对于硬引用和软引用的介绍: ⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ⑵软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存 1,对于强引用和软引用的使用,我们首先去强引用缓存中去找图片资源,当没有发现时,就去软引用缓存中。当强引用的超额时,将最后使用的资源放入软引用缓存中,使用到软引用的资源时 ,则将资源 重新放回强引用缓存池中。 2,内存缓存池中找不到,就去文件中查找, 3,再找不到就只好去网络上下载了,下载到以后,分别将资源放入文件缓存和内存缓存中
用户评论
就是代码没见效果,,,,这也行???
很不错,很容易理解。
感觉一般,没期望的那么好