跑了下工程发现Xcode 自带的内存分析工具,显示的内存消耗数值一直在涨,就感觉是不是内存泄漏问题...
主要使用两种方式检查内存泄漏:
1.静态检查 Static Analysis
Analyze 优点:
1、使用操作容易。
2、能够在编码阶段,开发自行进行代码检查。早期发现代码隐患。
3、直接分析源代码来发现程序中的错误,而不需要实际运行。
4、自动检测Objective-C程序中的BUG,发现内存泄露和其它问题。
5、内存问题发现越早,解决的代价就越小。
操作方式:
1、确保你的程序没有被编译过(编译过了就使用Clean all targets清除编译)
2、点击Product > Analyze如下图:
3.点击过后,等它编译好如果有内存问题,右下角的原来提示warning 和 error的地方现在变成了这样
4.现在你可以像解决以前的warning 或者 error一样,对提示的地方点进去看看什么问题了
主要问题大约有:1、逻辑错误:访问空指针或未初始化的变量等;2、内存管理错误:如内存泄漏等;3、声明错误:从未使用过的变量;4、Api调用错误:未包含使用的库和框架。
看情况自己修改下就是了!
2.Leaks检查
使用方式选择Xcode的工具栏如图:
双击Leaks打开:
剩下的这篇博客写的比较清楚 Leaks使用
使用的时候发现我这边的 一直显示不了代码,只能看到汇编地址,最后检查才发现要把工程的调试信息日志打开如图:
Build Setting 上的Debug Information Format 选为 DWARF with dSYM File
好了看到内存泄漏的代码了!