美文网首页
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,直接分析,蓝色标记符标记的地方就是有可能内存泄漏。

    相关文章

      网友评论

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

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