面试总结 - 启动优化

启动优化

冷启动分为三个部分

1.点击APP图标到执行main函数之前;
2.执行main函数开始到didFinishLaunchingWithOptions方法之后;
3.didFinishLaunching方法之后到首页渲染完成;

T1阶段

T1阶段的工作都是由操作系统完成的,开发者能够优化的地方不多;
这个阶段主要是由dyld(dynamic loader动态连接器)来初始化运行环境,将我们程序的可执行文件和系统提供的动态库进行链接,并执行一系列的程序初始化操作。
可优化的点有:
1.1删除无用的类和资源文件,动态库,慎用第三方SDK
1.2尽量不要在+load方法里面处理,可以推迟到+initialize方法中
1.3压缩资源图片,图片小了,IO操作量就小了
1.4减少OC类、selector、category的数量

T2阶段

T2阶段划分优先级
2.1APP启动就立刻执行的操作,如Crash监测、统计上报等
2.2不是第一类时间,但是需要APP加载第一个主体页面前就需要启动的,如提供用户信息的SDK、定位功能的初始化、网络初始化等
2.3放在主页viewDidAppear启动完成后启动的,如自定义配置、一些业务服务的调用、支付SDK、地图SDK等

T3阶段

3.1合理利用闪屏页;
3.2缓存定位、首页预请求,如利用缓存的定位直接预请求,如果定位有变,重新请求;
3.3如果viewDidLoad方法里面有很多耗时操作,用户还是会感觉到卡顿,可以先展示一个空壳的UI给用户,然后再viewDidAppear方法里进行数据加载解析、渲染等一些列操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值