如何使用xcode配合instruments分析iOS内存泄露

 我来答
好程序员
2016-07-15 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部

1.用xcode打开自己的工程,按快捷键command+r 运行需要测试的程序。

2.

点击xcode导航栏的“show the debug navigator”,切换到debug模式

然后选中“Memory”,再点击右侧的 “Profile in Instruments”,会自动打开Instruments。

3.这时候会弹出来一个对话框,选择“Transfer”

4.打开后,这时界面如图:

5.然后切换到iOS模拟器,点击那个测试按钮

6.这个时候会弹出一个对话框,

7.

“cancel”取消对话框后,多点几次“button”,切换到Instruments会发现 “Leaks”一栏里有几个红色的区块。

这就是内存泄露了。

8.

点击暂停,

然后点击“Leaks”一栏

9.然后点击“导航栏”切换到“call tree”模式下

10.看到列表里列出了内存泄露的调用逻辑:

11.

勾选右边的详细窗口中的“hide system libraries”,隐藏系统函数。

这个时候就可以清楚看到我们自己程序中的方法调用层次结构了。

展开后,可以发现是[ViewController onTestLeakBtn].

12.

鼠标双击“[ViewController onTestLeakBtn ]”这一行,会跳转到代码。

剩下的工作就是修改代码,然后重复以上步骤。直到没有内存泄露为止。

蒙MengNum1
2018-06-28 · TA获得超过2494个赞
知道大有可为答主
回答量:3004
采纳率:87%
帮助的人:861万
展开全部
用xcode打开自己的工程,按快捷键command+r 运行需要测试的程序。

2
点击xcode导航栏的“show the debug navigator”,切换到debug模式
然后选中“Memory”,再点击右侧的 “Profile in Instruments”,会自动打开Instruments。

这时候会弹出来一个对话框,选择“Transfer”

打开后,这时界面如图:

然后切换到iOS模拟器,点击那个测试按钮

这个时候会弹出一个对话框,

“cancel”取消对话框后,多点几次“button”,切换到Instruments会发现 “Leaks”一栏里有几个红色的区块。
这就是内存泄露了。

点击暂停,
然后点击“Leaks”一栏

然后点击“导航栏”切换到“call tree”模式下

看到列表里列出了内存泄露的调用逻辑:

勾选右边的详细窗口中的“hide system libraries”,隐藏系统函数。
这个时候就可以清楚看到我们自己程序中的方法调用层次结构了。
展开后,可以发现是[ViewController onTestLeakBtn].

鼠标双击“[ViewController onTestLeakBtn ]”这一行,会跳转到代码。
剩下的工作就是修改代码,然后重复以上步骤。直到没有内存泄露为止。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式