iOS 调试工具 Instruments
Instruments的界面如下:
截屏2023-02-04 23.27.59.png
Blank
创建一个空的模板,可以从Library库中添加其他模板
Activity Monitor
监视 CPU、内存、磁盘和网络使用统计信息 程序在手机运行真正占用的内存大小
Allocations
跟踪进程的匿名虚拟内存和堆,为对象提供类名和可选的 retain/release 历史记录
Animation Hitches
测量和检测滚动和动画故障。在生成连接帧时,帮助可视化和调查所涉及的图形管道(用户事件,CA提交,CA渲染服务器,GPU)
App Launch
使用5秒时间配置文件和线程状态跟踪优化应用程序启动性能
Core Data
这个模板跟踪 Core Data 文件系統活动,包括提取、缓存失败和保存
Core ML
Core ML模板提供了用于理解通过Core ML执行的ML工作负载的信息
CPU Counters
CPU计数器跟踪模板
CPU Profiler
基于周期的分析器,用于分析CPU工作负载,使用硬件性能监视中断(PMIs)提供更稳定的测量,无论代码是运行在性能还是效率CPU上
File Activity
这个模板监视文件和目录活动,包括文件的打开关闭和调用、文件权限修改、目录创建、文件移动等
Game Memory
测量跨CPU和GPU的游戏内存使用,包括分配、虚拟内存区域和GPU内存连接事件
Game Performance
了解对游戏性能和平滑帧率至关重要的关键性能领域
Leaks
测量内存使用情况,检查泄漏内存,并按照类来提供对象分配的統计信息,以及所有活动分配和泄漏内存地址历史记录
Logging
统一日志系统的日志和标志的可视化,用于导入日志文件的默认模板
Metal System Trace
通过提供应用程序、驱动程序和GPU 层的跟踪信息来分析 iOS、tvOs 和macOs Matal 应用程序的性能(Metal API是apple 2014年在ios平台上推出的高效底层的3D图形API,它通过减少驱动层的API调用CPU的消耗提高渲染效率)。
Network
使用连接工具分析应用程序如何使用TCP/IP和UDP/IP连接
SceneKit
概述应用程序对 Scenekit 的使用。确定进入每个帧的工作类型,例如动画、物理、场景剔除和渲染。
Swift Concurrency
跟踪Swift并发运行时的统计数据,可视化Swift任务的状态,结构化并发关系图,监控Swift Actor争用,并显示Swift任务如何在CPU上执行
SwiftUI
swiftUI分析工具,用于跟踪,视图类型的主体调用,随着时间的推移的DynamicViewProperty更新,以及识别慢帧
System Trace
全面了解操作系统中的情况。了解线程在CPU间的调度方式,了解系統调用和虛拟内存故障如何影响应用程序的性能
Tailspin
一个基本的尾旋模板,它将时间概要和I/O信息聚合在一起
Time Profiler
对系统 CPU 上运行的进程执行基于时间的低负载采样
Zombies
测量一般内存使用情况,同时关注过度释放的 Zombies 对象检测。还按类提供对象分配的统计信息,以及所有活动分配的内存地址历史记录