android三级缓存
1.网络缓存(AsyncTask异步加载网络数据)
2.内存缓存(LruCache,多用于图片缓存)
3.本地缓存(Sqlite数据库缓存,File文件缓存)
假设场景,拿到了服务器的图片地址url,需要显示到imageview上
首先,去通过url这个key去内存里面查找,要是能找到对应的value(即bitmap),判空后可以直接去显示,
如果没有这个key,或者value为空,则
到本地对应的缓存获取bitmap对象,如果是存在的,直接显示,不存在或者为空,则
网络连接正常的情况下,下载这张图片,下载成功后显示并保存到 内存缓存和本地缓存中。
以上就是大致的缓存原理。