Xcode结合Leaks检测内存泄露

作者: HHHHHHHHHHD | 来源:发表于2015-11-04 17:23 被阅读2928次
    内存很重要!内存很重要!内存很重要!

    重要的事情要说三遍。虽然现在项目大多数是ARC模式,Xcode会帮我们管理内存,但并不意味着这样就不会存在内存泄露的现象。Xcode里面有一个工具Instruments,这个工具可以检测项目的性能。

    Xcode结合Leaks检测内存泄露代码

    1.command+i 开启 Instruments工具

    启动.png
    2.选择Leaks,点choose
    Leaks.png
    3.选择Leaks,然后在Leaks那里选择Call Tree
    xxxx.png
    4.选择好Call Tree 之后选择设置,长得和齿轮一样
    xxxxx.png
    把Invert Call Tree 和 Hide system Libraries勾选
    5.最后点左上角的红点Record,你就会发现模拟器启动了,然后随便你操作app。如果出现了红色的叉叉,就说明存在内存泄露。
    Bug.png
    6.选中红色叉叉的区域,在Details里面就可以知道泄露的代码具体在哪一行。双击那段代码就可以去到泄露的位置。
    findBug.png
    7.找到泄露的代码,也可以一直点进去看。
    Bug11.png
    8.结束啦,找到泄露的地方,那就改去咯。

    Xcode结合Leaks检测内存泄露,让内存泄露无所遁形!就是那么简单

    相关文章

      网友评论

      • 4f6a2617054e:您好,我想问一下,为什么我的Xcode9.3 启动instruments ,选择APP然后启动后,手机APP就会闪退,一直这样呢
      • 鬼丶白:你好,我想请问博主,为啥我最后面点击进去的看不到代码,只是看到这些:
        +0x112 mov r0, r5
        +0x114 blx "DYLD-STUB$$-[_UIRemoteViewController(_UIRemoteViewController_AutomaticInvaldiation) autorelease]"
        +0x118 vmov d0, r6, r6
        +0x11c vcmpe.f32 s0, s18
        +0x120 vmrs APSR_nzcv, fpscr
      • 友友果果:这种方法只适合查看暴露出来的方法出现的问题 如果文件被编为.a库 那查到的都是汇编语言比较麻烦
      • 心至靜行至遠:楼主,我检测出内存泄露,但是显示的都是内存地址,不会显示具体的方法名,请问有解决办法吗?
        那根经痛了:@大牛是我的梦想 您好,遇到同样的问题,请问您是如何解决的呢??
      • Tate_code:你好,我想请问博主,为啥我最后面点击进去的看不到代码,只是看到这些:
        +0x112 mov r0, r5
        +0x114 blx "DYLD-STUB$$-[_UIRemoteViewController(_UIRemoteViewController_AutomaticInvaldiation) autorelease]"
        +0x118 vmov d0, r6, r6
        +0x11c vcmpe.f32 s0, s18
        +0x120 vmrs APSR_nzcv, fpscr

        表示看不懂 :cold_sweat:
      • 十一岁的加重:7.1这么智能 了啊

      本文标题:Xcode结合Leaks检测内存泄露

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