美文网首页iOS开发
使用“Time Profiler”工具监控App的启动耗时

使用“Time Profiler”工具监控App的启动耗时

作者: 门前的那颗樱桃树 | 来源:发表于2019-10-30 11:58 被阅读0次

一、如何查看耗时情况
1、查看Pre-Main()的耗时

  • 直接打开Xcode,找到Product->Scheme->Edit Scheme->Run->Arguments->Environment Variables->DYLD_PRINT_STATISTICS 设置为 YES
  • 通过快捷键:com + shift +
查看Pre-Mian()耗时

运行查看,你就能看到pre-Main()的耗时日志

耗时日志

2、查看Main()函数后的耗时
查看Main函数之后的耗时,目前有两种方案:

  • 方案一:定时抓取主线程方法的调用堆栈,计算一段时间里的方法耗时。(Xcode中的Time Profiler就是使用的这种的方法)
  • 方案二:对objc_msgSend方法进行hook,来得到所有方法的耗时。

使用方案一的TimeProfiler查看Main函数后耗时,方法如图:

步骤1 步骤2 步骤3 步骤4

注:
1 . Separate by State:按状态分开,分析数据。
2 . Separate by Thread:按线程分开,分析数据。可找出严重消耗资源的线程,特别对于处理和渲染UI的主线程,一旦主线程受到阻塞,一定会造成App的卡顿。
3 . Invert Call Tree:反向显示调用树。把调用层级最深的方法显示在最上面。
4 . Hide System Libraries:隐藏系统级的干扰信息。
5 . Flatten Recursion:合并递归。
6 . Top Functions:置顶耗时方法。

步骤5

注:
1、选择耗时的方法
2、点击右键
3、选择Reveal in Xcode
4、找到对应比较耗时的类中,进行对应维护。

相关文案:
https://mp.weixin.qq.com/s/WPsBfkroAEFVHu2OJ5pwKg?scene=25#wechat_redirect

相关文章

网友评论

    本文标题:使用“Time Profiler”工具监控App的启动耗时

    本文链接:https://www.haomeiwen.com/subject/dekovctx.html