美文网首页
Analyze 静态内存分析

Analyze 静态内存分析

作者: 健了个平_24 | 来源:发表于2016-07-27 18:32 被阅读41次

静态内存分析:不运行程序,直接对代码进行分析。

程序的运行:从硬盘读取到内存里面,由CPU一句句执行代码。

静态内存分析即是没有真正分配内存,根据代码的上下文的语法结构,来分析是否有内存泄漏。

- 例如:在MRC中,判断你创建某个对象后,该对象最后有没有调用release方法。

缺点:不一定准确,但是如果发现有提示,会去结合上下文看一下那里的代码是否有问题。


MRC下测试:

- 首先改成MRC模式(方便测试):点击项目选择Build Settings搜索auto,找到Objective-C Automatic Reference Counting,将YES改为NO。

- 点击Product选择Analyze,直接分析,蓝色标记符标记的地方就是有可能内存泄漏。

PS:如图,对象其实已经被释放,但还是有标记,说明静态内存分析不一定准确


ARC测试:

- ARC环境下很少有内存泄漏问题,但使用CF框架时,还是需要手动管理内存。

- 使用CF框架,如果调用了带有Create、Copy、Retain等字眼的函数,就要在最后调用相应的相干release函数。

- 点击Product选择Analyze,直接分析,蓝色标记符标记的地方就是有可能内存泄漏。

相关文章

  • iOS内存优化

    内存分析 静态分析 Analyze 动态分析 Instruments 可以查看内存分配情况Allocations ...

  • IOS性能调优系列:使用Instruments动态分析内存泄漏(

    1.Analyze对App做静态分析,可以发现应用中的内存泄露问题,但是对于有些内存泄露通过静态内存分析是无法解决...

  • 编码选择之内存分析

    xcode 检查是否存在内存泄漏 xcode 内存检测 一.内存分析 1.静态分析(Analyze)不运行程序, ...

  • Analyze 静态内存分析

    静态内存分析:不运行程序,直接对代码进行分析。 程序的运行:从硬盘读取到内存里面,由CPU一句句执行代码。 静态内...

  • 聊几个iOS中的面试题

    一、内存管理 1、分析工具: 静态分析法:Analyze。 动态分析法:Instrument工具库里的Leaks。...

  • 内存分析

    内存分析 主要目的就是为了检测程序是否存在内存泄露 1. 静态内存分析(Analyze) 2. 动态内存分析 3....

  • 重点 (二十八) : 内存管理

    一. 内存分析 主要目的就是为了检测程序是否存在内存泄露 静态内存分析(Analyze) 作用: 逻辑错误:访问未...

  • iOS 内存优化

    内存优化 一. 内存泄露 Xcode 自带了两种内存泄露查询工具:1 . Analyze(静态分析工具): 逻辑缺...

  • 内存泄露

    内存泄露解决分为了三步: 1.静态分析:Instruments的Analyze。通过静态分析我们可以最初步的了解到...

  • iOS内存泄露的个人经验

    内存泄露解决分为了三步: 1.静态分析:Instruments的Analyze。通过静态分析我们可以最初步的了解到...

网友评论

      本文标题:Analyze 静态内存分析

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