美文网首页
僵尸对象,内存泄露的定位

僵尸对象,内存泄露的定位

作者: 越来越胖了 | 来源:发表于2022-01-27 11:07 被阅读0次

    主要是基于项目代码量越来越多,担心自己可能在无意间,没有释放对象,或者某些情况下对已经不存在的对象执行操作导致崩溃,这里记录下一些常用的检测方法.

    1. 僵尸对象的检测:

    Pasted Graphic 1.png

    当有僵尸对象时,运行代码,可以看到(并不是百分百检测的到):


    Pasted Graphic 2.png

    2. 检测循环引用导致的内存泄露

    1. 通过product —>preform —> Leaks Pasted Graphic 3.png
      Pasted Graphic 4.png

      能够很明显的看到了一个循环的引用;

    2. 通过第三方工具: MLeaksFinder
      pod导入即可,不需要调用

    pod 'MLeaksFinder'
    

    运行代码后,如果发现内存泄露,会有弹框提醒:


    Pasted Graphic 5.png
    1. 还一种是采用手动添加析构函数,查看是否会被调用
    //析构函数
    - (void) dealloc {
        NSLog(@"dealloc");
    }
    

    相关文章

      网友评论

          本文标题:僵尸对象,内存泄露的定位

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