Xcode10 TimeProfiler 找出耗时函数
项目配置
我们的应用在编译的时候,苹果会给我们生成一份叫做 “项目名.app.dSYM” 的文件,这份文件里保存了我们代码的行数以及我们写的函数的十六进制地址。也就是说,如果我们能拿到这份文件和函数的十六进制地址,我们就能去我们的代码里找到那个函数。
为了TimeProfiler能去我们的项目里找到对应的函数,所以我们应该为TimeProfiler配置获取这份文件的环境,也就是作如下配置:
一、配置项目的 Scheme
image
二、配置项目的 Project
image
三、操作步骤
-
首先找出TimeProfile:请点击 Xcode 的菜单 --> Product --> Profile
timeProfile
-
- 在左上角选择要调试的应用(请在真机上运行应用,因为模拟器使用的是电脑的 CPU,所以很多时候并没有明显检测出性能问题。)
- 开始监听。
-
查看监听结果。
运行堆栈信息
经过上面的项目配置(温馨提醒:配置之后,需要运行项目之后方可生效,不要直接用TimeProfile运行监听,否则可能追踪不到耗时代码),我们再重新运行项目,然后按照上面的方式配置TimeProfiler,你就能看到上面的结果。
-
-
分析
- 由上图我们可以看到比较耗时的操作已经列出来了,我们双击即可进入对应的代码块,很方便的定位到耗时函数,对这些耗时函数我们不要放到主线程,否则会使主线程堵塞。
-
我们双击击AccountViewController viewDidLoad
image
定位代码如下:可看出该函数耗时占到99.55%的代码,如此找到我们项目中的耗时函数
image
-
参考资料:用 TimeProfiler 揪出那些耗时函数
测试Demo: 测试demo下载
网友评论