图片预取缓存策略是内存缓存(硬引用LruCache、软引用SoftReference<Bitmap>)、外部文件缓存(context.getCachedDir()),缓存中取不到的情况下再向服务端请求下载图片。同时缓存三张图片(当前预览的这张,前一张以及后一张)。1.内存缓存
2.外部文件缓存
3.从服务端下载图片 下载成功后调用1内存缓存的putBitmap()函数,缓存图片。 在外部文件缓存中也写入一份,调用2的putBitmap()函数. 4.预览图片的流程 1) 如果预览的图片在内存缓存区中,直接调用1的getBitmap()函数,获取bitmap数据(先在硬引用缓存区查找匹配,若硬引用区匹配失败,再去软引用区匹配) 2) 如果从内存缓存区读取失败,再从外部文件缓存中读取,调用2的getBitmap()函数 3) 如果从外部文件缓存中读取失败,则从服务端下载该图片,过程3. 5.生成key值
|
android 用LruCache读取大图片并缓存
最新推荐文章于 2021-02-16 06:03:57 发布
本文深入探讨了图片预取缓存策略,包括内存缓存(硬引用LruCache、软引用SoftReference<Bitmap>)与外部文件缓存(context.getCachedDir())。阐述了缓存机制如何在内存与文件系统间高效地存储与检索图片,以及在缓存中获取不到图片时如何从服务端下载并缓存。同时介绍了生成唯一key的方法,确保了图片的高效管理和快速访问。
2668

被折叠的 条评论
为什么被折叠?



