大型应用的iOS架构(下)
2019-02-15 本文已影响0人
水达
大型应用的架构
大型应用的架构,采用组件化的方式,基础SDK组件和业务组件分开,稳定的模块采用库的方式,改动频繁的模块采用工程的方式,每个模块拆分成单独project,支持模块按需编译。模块之间的通信方式,可能采用scheme(URL)方式进行,这样减少了模块之间的耦合性。
原则:组件的划分会越来越细。
model
对于model的处理,会有单独处理model的类统一对model进行修改
本地资源的加载
可以采用脚本的方式预先按需加载
采集性能数据
采集日志,上传至服务器,日志消息存入HDFS,Hive用于查询
- 网络请求成功率
- 启动时间、流量
- App版本、奔溃率等
优化细节
- 启动优化:优化启动速度
- 列表优化:监控性能,预加载,视图的合成的叠加,视图的布局优化,CPU与GPU特性
- 网络服务优化
- 离线包增量更新
- 图片性能优化:大图的预缓存机制、降低图片大小、wifi和移动网络下展示不同图片规格
扩展性
具有整体架构的思想,对未来扩展留有余地。
深度链接
链接每个APP,不再使APP变成孤岛。