iOS开发启动优化

启动速度优化:

3个阶段1、pre-main,didFinishLaunchingWithOptions,首屏渲染

main阶段:

1、减少动态链接库,采用静态链接库方式。动态链接库有解耦和分模块的文件形式优点,但是在dyld分别从每个frameworks中加载,执行一系列的初始化,对io和cpu都有不小的开销
2、减少类方法+load,可以放到initialize中按需加载
3、控制全局变量的数量和类的数量 (效果较小)

didFinishLaunchingWithOptions

1、将非必须的sdk初始化移出didFinishLaunchingWithOptions,如果sdk必须在didFinishLaunchingWithOptions能用子线程初始化就用子线程,不行就用主线程异步初始化。
2、用户数据加载等基础服务精简化、异步化

首屏速度优化:

1、展示数据做持久化缓存,控制器viewdidload的时候先取缓存数据渲染页面再请求网络更新数据
2、图片使用sdwebimage等框架缓存
3、首页网络请求优化(http2.0 ,多个同样请求整合)
4、首页异步计算布局,尽量使用tableviewcell和colltionviewcell等复用机制,避免循环创建
5、对象懒加载,减少实例化时间
6、避免使用过多xib和xib约束

你可能感兴趣的:(iOS开发启动优化)