- iOS架构/框架的作用
模块化
分层
解耦
降低代码重合度
缓存框架
image.png
图片经过什么方式进行读写,过程是怎样的?
* 以图片URL的单向hash值作为key去查找
image.png
* 内存设计上需要考虑哪些问题?
存储大小size
淘汰策略
image.png
image.png
image.png
* 磁盘设计需要考虑哪些问题
存储方式
大小限制(如100MB)
淘汰策略(如某一张图片存储时间距今已经超过7天)
* 网络设计需要考虑哪些问题
图片请求最大并发量
请求超时策略
请求优先级
* 不同格式的图片,采用什么方式解码?
应用策略模式来对不同图片格式进行解码
*在哪个阶段做图片解码操作
磁盘读取后解码,减少主线程的压力
网络请求返回后
阅读时长统计框架
image.png
* 为什么要有不同类型的记录器?
基于不同分类场景提供的,关于记录的封装和适配
* 记录的数据可能会由于某种原因丢失,怎么处理?
定时写磁盘(如间隔10分钟就写磁盘)
限定内存缓存条数,如超过该条数就写磁盘
* 记录器上传时机:立刻、延时、定时
延时上传场景:前后台切换时上传、网络变化时上传。
客户端整体架构
image.png
-
业务之间的解耦通信方式
OpenURL
依赖注入
image.png
MVC
MVP
MVVM
MVVM.png
MVP.png
MVC.png
网友评论