美文网首页苹果树
使用Open Developer Tool优化Mac OS Ap

使用Open Developer Tool优化Mac OS Ap

作者: zhcalvin | 来源:发表于2019-02-20 12:03 被阅读2次

今日笔者团队做的App的顶部Status Icon动画有用户反映卡顿,因此准备做一些优化工作。

首先说一下Status Bar Icon动画,设计要求的动画比较复杂,且每秒帧数要求很低,因此采用时间序列动画,用NSTimer切换动画帧做的。

想要优化这个切换过程,首先想到的就是用工具监控切换过程中各步骤耗时,于是就用到了Open Developer Tool里的时间监控工具。工具是Xcode内置的,不需要额外下载。

一、打开工具

  1. Xcode左上角Xcode -> Open Developer Tool -> Instruments打开工具弹窗:
    Screenshot 2019-02-20 at 11.47.34.png
  2. 选择第一个blank监控框(也可以直接选Time Profiler)

二、选取希望使用的监控控件和需要监控的进程并录制:

  1. 右上角加号,选用Time Profiler:


    Screenshot 2019-02-20 at 11.51.15.png
  2. 在Xcode中运行app并在Developer Tool中选中对应的程序进程:


    Screenshot 2019-02-20 at 11.53.35.png
  3. 点击红色圆圈录制按钮开始录制

三、分析

  1. 录制结束后可以看到CPU占用、进程池等信息,下方可以看到全部线程信息。
  2. 通过搜索或者在列表中直接查找,找到对应线程范围,本例中直接通过搜索statusicon找到了对应线程信息:
    Screenshot 2019-02-20 at 10.17.12.png
  3. 通过比对,发现imageWithStatusIconStyle耗时严重,点开后发现里面一个getter耗时很大,于是就找到了对应的优化点,优化后效果如下:
    Screenshot 2019-02-20 at 11.23.59.png

从而找到痛点,定点优化了执行效率。不过另外还是要说一句,不到万不得已,尽量不要在Status Icon上做序列帧动画。

另附示例App下载地址供大家参考:Rallets · 星际安全

相关文章

网友评论

    本文标题:使用Open Developer Tool优化Mac OS Ap

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