美文网首页ios developers
iOS中Xcode查看内存未释放的N种方式

iOS中Xcode查看内存未释放的N种方式

作者: wg689 | 来源:发表于2019-03-24 13:34 被阅读0次

    构造未释放代码 (代码在文末的demo)

    // 测试内存泄漏相关
    - (void)testLeaks {
        _timer = [NSTimer scheduledTimerWithTimeInterval:10
                                                  target:self
                                                selector:@selector(handleTimer:)
                                                userInfo:nil
                                                 repeats:YES];
        
        //    // 对象导致内存泄漏
        for(int i = 0;i <10;i ++){
            ClassA *a = [[ClassA alloc] init];
            ClassB *b = [[ClassB alloc] init];
            a.classb  = b;
            b.classa = a;
        }
    }
    
    

    方式1) 通过xcode 看

    可以很清楚的看到那些对象未释放 ,一般重点关注未释放的对象


    image.png

    方式2) leaks

    image.png

    可以看到上图classA classB 有30 个对象未释放


    image.png

    点击后查看具体地方泄漏


    image.png 按照箭头顺序查找引用环.png

    按照箭头顺序查找引用环

    demo 的链接

    内存泄漏demo

    相关文章

      网友评论

        本文标题:iOS中Xcode查看内存未释放的N种方式

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