美文网首页iOS开发
使用“Time Profiler”工具监控App的启动耗时

使用“Time Profiler”工具监控App的启动耗时

作者: 门前的那颗樱桃树 | 来源:发表于2019-10-30 11:58 被阅读0次

    一、如何查看耗时情况
    1、查看Pre-Main()的耗时

    • 直接打开Xcode,找到Product->Scheme->Edit Scheme->Run->Arguments->Environment Variables->DYLD_PRINT_STATISTICS 设置为 YES
    • 通过快捷键:com + shift +
    查看Pre-Mian()耗时

    运行查看,你就能看到pre-Main()的耗时日志

    耗时日志

    2、查看Main()函数后的耗时
    查看Main函数之后的耗时,目前有两种方案:

    • 方案一:定时抓取主线程方法的调用堆栈,计算一段时间里的方法耗时。(Xcode中的Time Profiler就是使用的这种的方法)
    • 方案二:对objc_msgSend方法进行hook,来得到所有方法的耗时。

    使用方案一的TimeProfiler查看Main函数后耗时,方法如图:

    步骤1 步骤2 步骤3 步骤4

    注:
    1 . Separate by State:按状态分开,分析数据。
    2 . Separate by Thread:按线程分开,分析数据。可找出严重消耗资源的线程,特别对于处理和渲染UI的主线程,一旦主线程受到阻塞,一定会造成App的卡顿。
    3 . Invert Call Tree:反向显示调用树。把调用层级最深的方法显示在最上面。
    4 . Hide System Libraries:隐藏系统级的干扰信息。
    5 . Flatten Recursion:合并递归。
    6 . Top Functions:置顶耗时方法。

    步骤5

    注:
    1、选择耗时的方法
    2、点击右键
    3、选择Reveal in Xcode
    4、找到对应比较耗时的类中,进行对应维护。

    相关文案:
    https://mp.weixin.qq.com/s/WPsBfkroAEFVHu2OJ5pwKg?scene=25#wechat_redirect

    相关文章

      网友评论

        本文标题:使用“Time Profiler”工具监控App的启动耗时

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