Instruments是Xcode自带的15个剖析和分析工具的统称,这些工具如表25.1所示。要详细介绍这些工具(instrument),需要一部专著;但对普通的iOS开发人员来说,对如何使用和解读这些工具有基本了解就够了。
表25.1 Xcode提供的工具及其功能
工具 | 描述 |
---|---|
Allocations | 跟踪内堆存分配,以测量堆内存的使用情况 |
Leaks | 度量内存使用情况、检查内存泄漏并提供有关对象分配的统计信息 |
Activity Monitor | 监视系统活动,包括CPU、内存、磁盘、网络和统计信息 |
Zombies | 度量内存使用情况,但专注于检测被过度释放(over-released)的“僵尸”对象。还按类提供有关对象分配的统计信息以及所有对象分配的内存地址记录 |
Time Profiler | 对系统CPU运行的进程进行基于时间的采样,开销很低 |
System Trace | 提供有关系统行为的信息:指出线程被调度的时间以及从用户代码到系统代码的切换 |
Automation | 执行一个脚本,以模拟用户与iOS应用UI的交互 |
File Activity | 监视文件和目录活动,包括打开或关闭文件、文件访问权限修改、目录创建、文件移动等 |
Core Data | 跟踪Core Data文件系统活动,包括检索、缓存缺失次数(cache misses)和保存 |
Energy Diagnostics | 提供有关能耗的诊断信息以及主要设备部件的开关状态 |
NetWork | 分析TCP/IP和UDP/IP连接的使用情况 |
System Usage | 记录单个进程中与文件、套接字和共享内存相关的I/O系统活动 |
Core Animation | 对使用Core Animation的进程和图形性能和CPU使用情况进行监视 |
OpenGL ES Driver | 度量进程的OpenGL ES图形性能和CPU使用情况 |
OpenGL ES Analysis | 度量和分析OpenGL ES活动,以检测OpenGL ES错误和性能问题, |