[关闭]
@chenbinghua 2015-09-12T10:36:21.000000Z 字数 542 阅读 1328

iOS开发之静态内存分析

iOS笔记


一、Xcode关闭ARC

Build Settings->搜索garbage->Objective-C Automatic Reference Counting
此处输入图片的描述

二、两种内存分析

1.静态内存分析(Analyze)
不运行程序, 直接检测代码中是否有潜在的内存问题(不一定百分百准确, 仅仅是提供建议)
结合实际情况来分析, 是否真的有内存问题

2.动态内存分析(Profile == Instruments)
1> 运行程序, 通过使用app, 查看内存的分配情况(Allocations)
* 可以查看做出了某个操作后(比如点击了某个按钮\显示了某个控制器), 内存是否有暴增的情况(突然变化)

三、静态内存分析

Product->Analyze
此处输入图片的描述

静态内存分析是不运行程序,直接对代码进行分析.
但是没有真正分配内存,根据代码的上下文的语法结构,来分析是否有内存泄露
缺点:不一定准确,但是如果发现有提示,那么去结合上下文看一下,这里的代码是否有问题

1.在关闭ARC的情况下,点击Product->Analyze

会检测到下图的object对象可能发生内存泄露
此处输入图片的描述

当释放object对象后
此处输入图片的描述

2.在ARC的情况下,需要手动管理Core Foundation框架的内存

如下图,当没有释放path,就会检测到内存泄露
此处输入图片的描述

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注