简介
防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重新加载一次图片,这显然非常耗时。对此,Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证),我们先来看一下有哪些应用程序已经使用了DiskLruCache技术,在我所接触的应用范围里,Dropbox、Twitter、网易新闻等都是使用DiskLruCache来进行硬盘缓存的。如果你手机上安装了网页新闻这个APP,当你打开它的Cache目录时,你会发现一个名叫journal的文件,这个文件通常是使DiskLruCache技术的标志。
下载
可以点击这里下载DiskLruCache的源码。下载好了源码之后,只需要在项目中新建一个libcore.io包,然后将DiskLruCache.java文件复制到这个包中即可。
常用的缓存位置
1.有SDCard:/sdcard/Android/data/<application package>/cache
cachePath = context.getExternalCacheDir().getPath();
2.没有SDCard:/data/data/<applicationpackage>/cache
cachePath = context.ge