美文网首页
图片缓存框架

图片缓存框架

作者: 蔚尼 | 来源:发表于2023-12-18 17:45 被阅读0次
考察点

架构&框架

设计架构要解决什么问题呢?
1.实现模块化
2.进行分层,实现解耦
3.降低代码的重合度

图片缓存

怎样设计一个图片缓存框架?

怎样设计一个图片缓存框架?

图片缓存--读写流程

图片通过什么方式进行读写,过程是怎样的?

image.png

图片在图片框架的读取流程:

图片在图片框架的读取流程

图片缓存--内存设计

内存的设计上需要考虑哪些问题?
1.存储的Size
2.淘汰策略

1、存储的size:

例如,我们可以如下分配:
10kb以下图片:分配50个
100kb:分配20个
100kb以上,分配10个

以队列的形式,先进先出:


各个size图片缓存空间分配

2、淘汰策略

·策略1:以队列先进先出的方式淘汰

先进先出的方式淘汰

·策略2:LRU算法(如30分钟之内是否使用过)

定时检查:
每次进行读写时,进行检查
前后台切换时候,进行检查

LRU算法进行淘汰

图片缓存--磁盘设计

磁盘设计需要考虑哪些问题?
1、存储方式
2、大小限制(如100MB)
3、淘汰策略(如某一图片存储时间距今已超过7天)

图片缓存--网络设计

网络部分的设计需要考虑哪些问题?
1、图片请求最大并发量
2、请求超时策略(例如失败后可以重试2次)
3、请求优先级

图片缓存--图片解码

对于不同格式的图片,解码采用什么方式来做?
·应用策略模式对不同图片格式进行解码

在哪个阶段做图片解码处理?
a、磁盘读取后
b、网络请求返回后

图片缓存--线程处理(整个流程)

先去缓存里面读取,读取到就显示;
缓存没有就到 磁盘查找,读取到就保存到缓存里面、并显示;

磁盘读取到数据后放到缓存

磁盘里面没有读取到,就去网络请求,请求回来后放到缓存里面,并显示。

网络请求读取到数据后放到缓存当中

相关文章

  • 多线程03

    SDWebImage框架详解 下载图片并显示: 下载图片/显示图片/内存缓存/磁盘缓存 下载图片\内存缓存\磁盘缓...

  • iOS-常用框架解读

    一、框架&架构作用 模块化 分层 解耦 降低代码重合度 二、图片缓存框架 怎样设计一个图片缓存框架? 2.1 图片...

  • 架构&框架

    图片缓存 怎样设计一个图片缓存框架 图片管理者模块:内存缓存模块、磁盘缓存模块、网络图片下载模块 图片处理:图片解...

  • 基于RxJava2的轻量级图片缓存框架

    基于RxJava2的轻量级图片缓存框架 Android的图片缓存框架有很多,在Universal-Image-Lo...

  • 图片缓存框架

    如何设计一个图片缓存框架? 方案:首先一个manager 管理者 : 内存管理 磁盘管理 网络codeManage...

  • 架构相关

    一、图片缓存框架面试题 问题1:怎样设计一个图片缓存框架? 问题2:图片通过什么方式进行读写,过程是怎样的? 读写...

  • Android缓存机制——一般存储实现

    一、Android缓存机制 Android缓存分为内存缓存和文件缓存(磁盘缓存)。在早期,各大图片缓存框架流行之前...

  • 《图片缓存框架: Glide(使用到源码解析博客整理)》

    诸多的图片加载缓存框架为何选择Glide? Glide是谷歌IO大会上推荐的一个图片加载缓存框架,Picasso也...

  • iOS面试12 - 结构/框架

    框架/ 架构 模块化 分层 解耦 降低代码的重合度 图片缓存 如何设计一个图片缓存框架? 2019-02-16 下...

  • SDWebImage

    今天来分析SDWebImage,它是一个异步加载图片并缓存的框架,说到图片缓存,先上张图来看下图片缓存的思路 没错...

网友评论

      本文标题:图片缓存框架

      本文链接:https://www.haomeiwen.com/subject/bpvagdtx.html