美文网首页iOS开发性能优化iOS性能调优
instruments(01)-Time Profiler(时间

instruments(01)-Time Profiler(时间

作者: dogs_five | 来源:发表于2016-06-02 16:53 被阅读997次

    关于instruments总共分为19篇文章对它每一个功能进行介绍。

    首先给大家介绍一下什么是instruments,作为一个程序员,编程并不难,难得是如何优化你的代码,提高app的性能。而instruments就是这样一个工具,优化应用程序的性能,寻找代码的bug,分析代码的利弊。

    下面我们通过循环打印来对时间分析器这个功能进行讲解

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        [self OCprint];

        [self Cprint];

    }

    //循环打印100次

    - (void)OCprint{

        for (int i = 0; i < 100; i++) {

        NSLog(@"%d",i);

    }

    }

    //循环打印50次

    - (void)Cprint{

         for (int i = 0; i < 50; i++) {

        NSLog(@"%d",i);

     }

    }

    接下来我们只需要按住command + i 就会弹出以下界面

    时间分析器

    点击红色箭头指向的图标,就会出现以下界面

    1:暂停/开始按钮

    2:记录按钮,用来收集数据

    3:记录时间

    4:显示收集到的数据

    5:显示收集到的数据展示形式

    6:代码时间占比的详细功能面板

    7:功能面板的显示设置

    点击记录按钮出现如下界面

    Separate by Thread: 每个线程分开考虑。

    Invert Call Tree:从上倒下跟踪堆栈。如FuncA{FunB{FunC}} 勾选此项后堆栈以C->B-A 把调用层级最深的C显示在最外面

    Hide System Libraries: 隐藏系统的代码

    Flatten Recursion: 递归函数, 每个堆栈跟踪一个条目

    Top Functions: 显示一个函数的总时间。例如函数A内部调用B,那么显示的时间为A实现的时间加B实现的时间。

    勾选上以下几项,只显示我们自己写的代码所花费的时间

    其中main函数花了MainThread的54.8%时间,OCprint方法花费了13ms,Cprint方法花费了4ms。

    如果觉得这样还不清晰,可以双击对应的方法,会展示对应的代码所花费的时间(x代表毫秒)或者时间比。

    相关文章

      网友评论

      本文标题:instruments(01)-Time Profiler(时间

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