启动Instruments :Product->Profile
- Time Profile
Time Profile可以帮助我们找出最耗时的代码,快速定位到代码。
- 使用真机(因为Mac上模拟器的CPU和设备的CPU不同)
- 使用发布模式(发布模式下会开启Watch Dog[看门狗]机制,Debug模式下禁用Watch Dog)
为了能更清晰的快速的找到耗时的代码,我们可以设置一下信息展示。
如上图,
1.Separate By Thread:线程分离,只有这样才能在调用路径中能够清晰看到占用CPU最大的线程.
2.Invert Call Tree:从上到下跟踪堆栈信息.这个选项可以快捷的看到方法调用路径最深方法占用CPU耗时,比如FuncA{FunB{FunC}},勾选后堆栈以C->B->A把调用层级最深的C显示最外面.
3.Hide System Libraries:这个就更有用了,勾选后耗时调用路径只会显示app耗时的代码,性能分析普遍我们都比较关心自己代码的耗时而不是系统的.基本是必选项.注意有些代码耗时也会纳入系统层级,可以进行勾选前后前后对执行路径进行比对会非常有用.
黑色头像部分需要我们多加注意