• 使用Analyze 和Instruments-Leaks分析解决iOS内存泄露


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    使用Analyze和Instruments-Leaks分析解决iOS内存泄露

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

     

    iOS开发者交流群:180080550
  • 相关阅读:
    LDA的整体流程
    java中字符串的用法
    verification Code
    properties
    Hash
    substring的问题
    LDA和PLSA的区别
    Step By Step(Lua环境)
    Step By Step(Lua调用C函数)
    Step By Step(Lua弱引用table)
  • 原文地址:https://www.cnblogs.com/stevenwuzheng/p/5341881.html
Copyright © 2020-2023  润新知