使用Analyze 和Instruments-Leaks分析解决iOS内存泄露

 

版权声明:本文为博主原创文章,未经博主容许不得转载。ide

使用Analyze和Instruments-Leaks分析解决iOS内存泄露

 
实验的开发环境:Xcode 7
 

1、使用Product-Analyze分析内存泄( 快捷键: cmd + shift + B )

APP程序开发完成后,能够利用Xcode的Analyze就能分析到哪里有内存泄露。工具

分析以后能够看到:测试

这里提示model没被释放,有内存泄露,那咱们释放ui

    [model  release];spa

再Analyze分析,显示Build succeeded,不存在任何内存泄露,代表这个问题解决了。 code

 

2、使用Instruments的leaks工具分析内存泄露( 快捷键: cmd + ctrl + I )

利用Product-Analyze分析内存泄露,并不能把全部的内存泄露查出来,由于有的内存泄露是在运行时,用户操做时才产生的。那就须要用到Instruments了。blog

1.内存

Xcode打开一个已完成项目,选好模拟器,点击Run,让程序跑起来。开发

 

2.cmd

点击Xcode菜单栏 Product -- Profile ( 快捷键: cmd + ctrl + I )。

 
 
3.
按上面操做,显示Build succeeded后,会跳出Instruments工具,选择Leaks(水龙头)选项。
 
4.
先按下红色的圆形按钮,再选择Leak,而后选择Call Tree,勾选选中Invert Call Tree 和Hide System Libraries。
 
 
5.
在模拟器中测试App各项功能,查看是否有代码出现内存泄露。
 
 
 6.
定位内存泄露代码,并修改。
将故意注释掉的[model release];代码打开。
 
7.
再次测试是否存在内存泄露。

在添加了[model release];代码后,再从新Run,而后cmd + ctrl +I, 切换到Leaks界面,不管再怎么点击“加载音乐”按钮,都检测不到内存泄露了,代表内存泄露被堵住了。

相关文章
相关标签/搜索