图片缓存框架
2018-11-22 本文已影响13人
小行为
如何设计一个图片缓存框架?
屏幕快照 2018-11-22 下午6.09.07.png方案:
首先一个manager 管理者 : 内存管理 磁盘管理 网络
codeManager(解码相关) : 图片解码, 图片压缩/解压缩
图片通过什么方式进行读写,过程怎样的?
图片可以用URL的单向hash值 作为Key
图片读取流程:
屏幕快照 2018-11-22 下午6.12.01.png为何用内存
借鉴系统多级缓存思想,每次下载或磁盘会耗时和节省流量上的损耗
*内存设计上需要考虑哪些问题??
存储size
淘汰策略
存储size改如何设计
存储size10kb以下开辟50个控件缓存
10 -100kb 缓存20张
大于100kb 缓存10张
以队列先进先出方式
淘汰策略
以队列先进先出方式淘汰策略
屏幕快照 2018-11-22 下午6.17.13.pngLRU算法 (如30分钟内是否使用)
LRU算法定时检查 ( low )
提高检查触发频率(每次进行读写时检查、前后台切换时)
磁盘设计需要考虑哪些问题?
磁盘设计存储方式
大小限制
淘汰策略
网络设计需要考虑哪些问题?
图片请求最大并发量
请求超时策略
请求优先级
图片解码采用什么方式?
应用策略模式对不同图片格式进行解码
在哪个阶段进行图片解码??
磁盘读取后
网络请求返回后