图片三级缓存的原理

三级缓存的概念:

内存-->硬盘-->网络

由内存、硬盘、网络缓存形成。

关于三级缓存用到的技术:

Android高效加载大图、多图解决方案、有效避免程序OOM使用的核心技术就是LruCache。

LruCache只是管理了内存中图片的存储与释放,如果图片从内存中被移除的话,那么又需要从网络上重新加载一次图片,这显然非常耗时。对此,Google又提供了一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证。

用法和流程:

当每次加载图片的时候都优先去内存加载图片、当内存中获取不到图片的时候则去硬盘缓存读取、如果硬盘缓存读取不到数据就去网络获取数据。不管是从硬盘缓存还是从网络获取,读取到了数据之后都应该添加到内存缓存当中,这样的话我们下次再去读取图片的时候就能迅速从内存当中读取到,而如果该图片从内存中被移除了的话,那就重复再执行一遍上述流程。

原文地址:https://www.cnblogs.com/android-joker/p/4635241.html