美文网首页iOS集合
图片缓存框架

图片缓存框架

作者: 小行为 | 来源:发表于2018-11-22 18:28 被阅读13次

如何设计一个图片缓存框架?

屏幕快照 2018-11-22 下午6.09.07.png

方案:
首先一个manager 管理者 : 内存管理 磁盘管理 网络
codeManager(解码相关) : 图片解码, 图片压缩/解压缩

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

图片可以用URL的单向hash值 作为Key

图片读取流程:
屏幕快照 2018-11-22 下午6.12.01.png
为何用内存

借鉴系统多级缓存思想,每次下载或磁盘会耗时和节省流量上的损耗

*内存设计上需要考虑哪些问题??

存储size
淘汰策略

存储size改如何设计

10kb以下开辟50个控件缓存
10 -100kb 缓存20张
大于100kb 缓存10张
以队列先进先出方式

存储size
淘汰策略

以队列先进先出方式淘汰策略

屏幕快照 2018-11-22 下午6.17.13.png

LRU算法 (如30分钟内是否使用)

定时检查 ( low )
提高检查触发频率(每次进行读写时检查、前后台切换时)

LRU算法

磁盘设计需要考虑哪些问题?

存储方式
大小限制
淘汰策略

磁盘设计

网络设计需要考虑哪些问题?

图片请求最大并发量
请求超时策略
请求优先级

图片解码采用什么方式?

应用策略模式对不同图片格式进行解码

在哪个阶段进行图片解码??

磁盘读取后
网络请求返回后

线程处理

图片加载流程

相关文章

  • 多线程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/vqcrqqtx.html