如何测量iOS启动过程耗时

本文详细介绍了如何测量iOS应用在main()之前和之后的启动耗时。通过使用Instruments进行App Launch分析,设置环境变量DYLD_PRINT_STATISTICS_DETAILS以获取dyld加载详细信息,以及利用开源工具A0PreMainTime来监测+load方法的耗时。在main()之后,推荐使用Qi_ObjcMsgHook框架结合ReactiveCocoa和FMDB来追踪启动过程,并提供了源码链接以供深入研究。
摘要由CSDN通过智能技术生成

main()之前耗时测量

  1. 测量app的整个启动时间 (Instruments→ App Launch)

  2. 通过添加环境变量可以打印出APP的启动时间分析 (Edit Scheme → Run → Arguments → Environment Variables) 添加 DYLD_PRINT_STATISTICS_DETAILS

(Edit Scheme → Run → Arguments → Environment Variables) 添加 DYLD_PRINT_STATISTICS_DETAILS 打印dyld的加载耗时
ObjC setup time 是 map_images 的时间
total time in initializers and ObjC +load 初始化和load加载和执行的总耗时耗时,包括attribute ((constructor))

  1. 添加环境变量 OBJC_PRINT_LOAD_METHODS ,值为 1.可以 打印出app有哪些 +load 方法

  2. load方法耗时测量 开源工具: https://github.com/binzi56/A0PreMainTime

main()之后耗时测量

  1. App Launch 查看 Samples
  2. 应用开源工具 https://github.com/QiShare/Qi_ObjcMsgHook/tree/master/Qi_ObjcMsgHook/Qi_ObjcMsgHook/QiLa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值