Time Profiler



有两种方式可以打开Time Profiler。我们先来介绍第一种:



一、从Debug界面打开Time Profiler



1)首先打开Xcode,在编译成功后运行App,这里测试Demo是选择在游伴项目中直接添加一部分进行测试,打开Debug面板,如下图所示。

 

    @测试代码中主要是增加了两个for循环,为了方便Time Profiler分析。



2)右键点击图片左侧中的CPU,显示如下界面

 

@(1) :图片右侧红色线框圈住的部分。CPU占用百分比。这里是刚启动的时候,CPU占用比较高。CPU 最大为400%,这里可以认为是MAC机器的CPU共计400%,但只分配给Simulator 100%。

@(2) : 图片右侧蓝色线框圈住的部分。CPU使用的比较。由于是用Simulator进行演示分析,这里有MAC机器的其他程序也在运行。可以看到紫色部分是我们的项目MSGS占用98%,Other Processes可以忽略不计。

@(3) : 图片右侧紫色线框圈住的部分。CPU启动的时间。这里有三个参数。

               Duration:CPU运行时间 (7 sec)

               High:      最高占用比   (98%)

               Low:         最低占用比   (13%)

@(4): 图片右侧黑色线框圈住的部分。各个线程占用CPU的详情。刚启动时,只有一个主线程运行。

@(5):图片右侧黄色线框圈住的部分。在Instruments里打开Time Profiler。



3)打开上一步中的@(5),在Instruments 中打开Time Profiler。点击后会弹出以下界面

 

     @(1) :Restart,在Instruments重新启动项目进行Time Profiler分析。

     @(2):Transfer,在Instruments中继续运行当前项目进行Time Profiler分析。



4)点击Restart,重新分析项目。

 

@(1):  紫色线框区域

                                                             :Record键,相当于开始和结束功能;

                                                             :Pause键,暂停功能,点击暂停后,项目将会终止加载

                    : 当前正在分析的项目

                   :项目的运行时间。注意这里有两个时间:

  1. 项目运行时间,就是有蓝色区域的部分,暂停后就终止,不再向前推进,再次按暂停后继续运行。
  2. Instruments工具运行时间,不随项目暂停而暂停。红色线框包围区域为暂停的时间,再按Pause后项目又开始运行(蓝色区域)。

              

@(2): 蓝色线框区域

               这里主要配合@(3)部分,设置其显示的方式。

               Separate by Thread :     分开线程显示

               Invert Call Tree:             以树形方式显示调用的方法

               Hide System Libraries:  不显示系统函数占用时间

@(3): 红色线框区域

               :这里可以选择调用函数占用时间显示方式,一般选择Call Tree方便查看。

              :对应后面函数的运行时间和占用整个时间的百分比。



5)在双击一个方法后,会显示该方法中的各代码段的占用时间比。

     选中其中一行双击,即可查看到如下界面。这里显示了每个操作所占用的时间比。(这里的运行之和为100%,即各个代码段在当前方法中的占用比,总和100%对应外部的90.2%)。

     @对比图(此时项目运行到刚刚加载出游伴主界面后,选择暂停)

@: i = 100  ;  j = 2000 ,UIApplicationMain()方法占用时间比为96.0%。 
                      
               @:i = 1000 ;  j = 20000,将循环放大一百倍。此时UIApplicationMain()方法占用时间比为33.8%


6)详细分析这个界面(示例)

                 

@1:打开某一个代码文件

               

@2:显示汇编调用和代码文件的对比

              

    @3:在汇编代码和代码文件切换视窗

              

@4:在Xcode中打开代码段所在文件,使用选中代码片段必须是OC语言

              

           @5:一些设置选项,可以显示值显示和百分比显示(目前还不知道x是什么单位)

              



7)退出保存

             

        @点击关闭按钮,会提示是否保存。这里可以保存成一个文件到指定目录

             

  @1:保存的文件名

@2:保存位置



插入一个使用Time Profiler 的PPT

Time Profiler PPT.pptx



第二种打开方式



二、直接从Xcode界面打开Time Profiler



1)打开Xcode界面,Xcode->Open Developer Tool-> Instruments,这里有所有的工具,图示有对照表。

         

         

        @全部的Instruments如下:

            Trace template               

                   Instruments               

Activity Monitor

Activity Monitor Instrument

Allocations

Allocations Instrument

VM Tracker Instrument

Automation

Automation Instrument

Cocoa Layout

Cocoa Layout Instrument

Core Animation

Core Animation Instrument

Time Profiler Instrument


Core Data

Core Data Cache Misses Instrument

Core Data Fetches Instrument

Core Data Saves Instrument

Counters

Counters Instrument

Dispatch

Dispatch Instrument





Energy Diagnostics

Bluetooth Instrument

CPU Activity Instrument

Display Brightness Instrument

Energy Usage Instrument

GPS Instrument

Network Activity Instrument

Sleep/Wake Instrument

WiFi Instrument



File Activity

File Activity Instrument

File Attributes Instrument

Directory I/O Instrument

Reads/Writes Instrument

GPU Driver

GPU Driver Instrument

Time Profiler Instrument

Leaks

Allocations Instrument

Leaks Instrument

Multicore

Dispatch Instrument

Thread States Instrument

Network

Connections Instrument

OpenGL ES Analysis

GPU Driver Instrument

OpenGL ES Analyzer Instrument

Sudden Termination

Sudden Termination Instrument


System Trace

Scheduling Instrument

System Calls Instrument

VM Operations Instrument

System Usage

Time Profiler

I/O Activity Instrument

Time Profiler Instrument

UI Recorder

 User Interface Instrument

Allocations Instrument



2)点击choose后,进入Time Profiler Instruments。

      

       @从这里选择我们要测试的项目



3)其余步骤参考 一、4)及其后续的步骤即可。