1.静态分析
command + SHIFT + B 也可以进入静态分析。
Xcode 静态分析能发现的问题主要有:
(1)逻辑缺陷,例如访问未初始化的变量或空指针的解引用;
(2)内存管理缺陷,如内存泄露;
(3)无用存储缺陷(永不会被访问的变量);
(4)因未遵从项目用到的框架(frameworks)或类库(libraries)所规范的而导致的API使用缺陷;
通过 Xcode Analyze 发现一些 error 之后,可以找开发讨论解决问题;Xcode 中左边的导航面板可以查看具体的 error 信息(蓝色的即为 error,黄色的为 warning)。如下图所示:
2.动态分析
1.Xcode -> Product -> Profile 打开模板选择界面;
2.选择 Leaks并点击 Choose;
然后会记录内存情况,如下图:
All Heap Allocations 这一行显示App占用的内存,如果内存持续增长,则App可能没有及时释放内存;
Leak Checks 这一行中若出现红色X,代表App存在内存泄漏,下面的仪表板会具体展现出现内存泄漏的代码。
3.第三方工具