美文网首页
使用Analyze和Instruments-Leaks分析解决i

使用Analyze和Instruments-Leaks分析解决i

作者: 梵尘_341b | 来源:发表于2017-05-05 17:18 被阅读0次

实验的开发环境:Xcode 7

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

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

分析之后可以看到:

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

[model  release];

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

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

利用Product-Analyze分析内存泄露,并不能把所有的内存泄露查出来,因为有的内存泄露是在运行时,用户操作时才产生的。那就需要用到Instruments了。

1.

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

2.

点击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界面,无论再怎么点击“加载音乐”按钮,都检测不到内存泄露了,表明内存泄露被堵住了。

相关文章

网友评论

      本文标题:使用Analyze和Instruments-Leaks分析解决i

      本文链接:https://www.haomeiwen.com/subject/zcciwttx.html