Xcode有两种方法,一种为编绎时的静态分析方法 :“Run Static Analyzer 快捷键为 command+shift+b这样的话就能检静态情况下的内存泄露问题.比如
显示蓝色的箭头的部分由于 开劈空间 的 array 没有使用,造 成了内存的浪费. 像这种方式能够检测静态下的内存泄露问题.
2 有时静态并不能完成分析内存泄露的问题.程序运行时会动态开劈空间, 有时不及时释放 ,会越积越多,造成运行内存越来越大.最终程序crash掉.
这就需要动态检测工具,xcode已经为我们提供了动态检测内存的工具.
打开 Product下的profile
运行后会弹出一个菜单如下图所示 选择leaks
会弹出一个像记录表的菜单
点击那个小原点让其运行. 运行图如下图所示
下面运行一段有内存泄露的程序如下图所示
其中有小红X的地方均发生了内存泄露
查看内存泄露发生的代码段进行修改.点击 leak checks 并点击 下面Details 右边的 Call Tree 选项 会出现内存泄露的具体信息
注意将右边中间设置选项里的 invert Call Tree 和HIde System Libraries 选项 勾选上.
双击泄露行的图标即可弹出出现问题的代码段 然后进行相应的修改即可