• 记录一下iOS Leak的使用方法。


    观测过程中不需要使用xcode。只需观察Leak工具即可

    1:选中Xcode,点击左上角的Xcode。找到tool   然后找到instrument。如下图

    2:打开instrument 找到Leaks工具。

    3:选择设备(类似XCode选择模拟器一样)

    4:选择需要检测的APP

    5:点击红色的按钮,表示启动App

    6:此时项目会直接跑起来。然后你随便点击即可观测。当出现红色的❎时,就表示有内存泄露了。如下图:

    7:选中红色的叉。找到田字格leaks选择call tree。如下图

            

    8:在底部找到call tree。选择选中的那两个

    9:然后就会显示类和泄露的方法,双击查看详情就可以开始修改啦

    Mark ------- 

    使用过程中会出现的一个问题。没有显示类名和方法名称。原因是XCode设置出现的问题。更改XCode设置即可。方法如下

    1:找到Build Setting 

    2:找到Debug information Format。然后把debug和release模式都修改成下图的模式即可

    3:然后重跑项目和Leaks即可观测。

    Mark  ----------

    重新跑过之后。发现使用的AF报了很多的内存问题、

    原因是每次请求的时候都创建了AFHTTPSessionManager ,没来得及释放,造成内存泄露。

    解决办法就是把这个类创建为单例类。创建方法

    /*
     单例
     解决AF请求内存泄露的问题
     */
    
    + (AFHTTPSessionManager *)shareAFManager
    {
        static AFHTTPSessionManager *manager;
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            manager = [AFHTTPSessionManager manager];
        });
        return manager;
    }

    如下图

    --------------至此结束------------

  • 相关阅读:
    android中src和background区别
    html标签大全
    android横竖屏切换时activity的生命周期
    onInterceptTouchEvent和onTouchEvent调用时序
    Android Activity单例
    Android dispatchTouchEvent
    android 2D API相关
    杭电 1085 Holding BinLaden Captive!
    杭电 1715 大菲波数
    杭电 1492 The number of divisors(约数) about Humble Numbers
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/10677892.html
Copyright © 2020-2023  润新知