关于Instruments工具中TimeProfiler和Leaks的归纳总结
TimeProfiler 是一个很好的性能分析工具,可以分析内存分配、内存泄漏、网络情况、CPU占用等和性能有关的问题.
1.如何找到?
2.我们需要的是拿到项目中相关耗时操作的函数,
我们的应用在编译的时候,苹果会给我们生成一份叫做 “项目名.app.dSYM” 的文件,这份文件里保存了我们代码的行数以及我们写的函数的十六进制地址。也就是说,如果我们能拿到这份文件和函数的十六进制地址,我们就能去我们的代码里找到那个函数。
为了TimeProfiler能去我们的项目里找到对应的函数,所以我们应该为TimeProfiler配置获取这份文件的环境,也就是作如下配置。
01、配置项目的 Scheme
02、配置 Project
03.选项视图参数设置
- Separate byt Thread(建议选择):通过线程分类来查看那些纯种占用CPU最多。
- Invert Call Tree(不建议选择):调用树倒返过来,将习惯性的从根向下一级一级的显示,如选上就会返过来从最底层调用向一级一级的显示。如果想要查看那个方法调用为最深时使用会更方便些。
- Hide Missing Symbols(建议选择):隐藏丢失的符号,比如应用或者系统的dSYM文件找不到的话,在详情面板上是看不到方法名的,只能看一些读不明的十六进值,所以对我们来说是没有意义的,去掉了会使阅读更清楚些。
- Hide System Libraries(建议选择):选上它只会展示与应用有关的符号信息,一般情况下我们只关心自己写的代码所需的耗时,而不关心系统库的CPU耗时。
- Flatten Recursion(一般不选):选上它会将调用栈里递归函数作为一个入口。
- Top Functions(可选):选上它会将最耗时的函数降序排列,而这种耗时是累加的,比如A调用了B,那么A的耗时数是会包含B的耗时数。
04.查看耗时函数:经过上面的配置,我们再重新运行项目,然后按照上面的方式配置TimeProfiler,你就能看到下面的结果:
双击这个函数就能查看这个函数中的详情代码,这里不能修改代码,点击右上角的xcode可以直接进入xcode中。
Leaks 内存泄露检查
在 Xcode 中, 共提供了两种工具帮助查找泄漏点
1 > Analyze
- 学 名: 静态分析工具- 查 找: 可以通过 Product ->Analyze 菜单项启动- 快捷键: CMD+shift +b.- Analyze主要分析以下四种问题:
1) 逻辑错误:访问空指针或未初始化的变量等;
2) 内存管理错误:如内存泄漏等;
3) 声明错误:从未使用过的变量;
4) Api调用错误:未包含使用的库和框架。
2 >Instruments
- 学 名: 动态分析工具- 查 找: Product ->Profile 菜单项启动- 快捷键: CMD + i.- 简 介:它有很多跟踪模块可以动态分析和跟踪内存, CPU 和文件系统.
01.运行项目并打开leaks
02.双击这个耗时调用函数进入
03.和timeProfiler一样,想要进入xcode直接查看可以点击右上角的xcode直接进入
以上就是这两种工具的简单使用,如有什么描述问题,请留言。