Instruments User Guide编程指南1-Introduction
来源:互联网 发布:画漫画专用软件 编辑:程序博客网 时间:2024/06/06 02:55
About Instruments
Instruments是非常强大和便利的性能分析和测试工具,它是Xcode工具中的一部分。它用于帮助分析我们的OS X和 iOSAPP,为了更好的理解和选择APP的行为和性能。在我们的开发流程中使用Instruments到能够帮助我们节约时间并且尽可能在开发周期找到问题。
在Instruments中,我们使用的相关专业工具,称为Instruments。能够跟踪我们APP中的不同方面,处理过程(processes),设备(devices)超时。Instruments收集相关的数据用profiles,并且显示分析之后的具体详细结果。
不像其他的性能(performance)和调试工具(debugging tools),Instruments允许我们聚集不同类型的数据并且并排显示。这使得非常容易识别对应的趋势, 例如:我们的APP可能由于多个网络链接(multiple open network connections)而导致呈现大量的内存上涨。通过使用Allocations和Connections等工具,我们能够确认网络连接(connections)并没有被关闭因而导致了内存的迅速上升。
通过有效的使用Instruments工具,我们能够:
1:Examine the behavior of one or more apps or processes 检测一个或者多个APP的行为和处理过程
2:Examine device-specific features, such as Wi-Fi and Bluetooth 检测设备的具体特征,比如Wi-Fi和Bluetooth
3:Perform profiling in a simulator or on a physical device 在模拟器或真机上性能分析
4:Create custom DTrace instruments to analyze aspects of system and app behaviour 创建自定义Dtrace工具来分析系统的某些方面和APP的行为
5:Track down problems in your source code 查找定位我们源码的问题
6:Conduct performance analysis on your app 管理我们APP的性能分析
7:Find memory problems in your app, such as leaks, abandoned memory, and zombies 找到APP内存问题,比如:内存泄露,释放的内存,僵尸对象
8:Identify ways to optimize your app for greater power efficiency 为了最好的电量使用效率,确认方式来优化APP
9:Perform general system-level troubleshooting 执行基本的系统级别的排查
10:Save instrument configurations as templates 保存根据配置作为模板
虽然Instrument嵌入到了Xcode,但是Instrument也是一个单独的APP能够独立使用。
The Instruments Workflow
Instruments看起来似乎像一个复杂的APP,它能够收集有关于APP多方面有用的信息,而且帮助我们诊断和处理问题。但是,事实是instrument的工作流程是比较简单的,如下图所示:
Figure 2-1The Instruments workflow
在高级别上,有以下几个主要阶段:
1:Set up a trace document containing the desired instruments and settings. 创建跟踪文件并且包括需要的工具和设置
2:Target a device and an app to profile. 把设备作为目标对APP进行分析
3:Profile the app. 对APP性能分析
4:Analyze the data captured during profiling. 对在性能分析期间捕获的数据进行分析
5:Fix any problems in your source code. 解决任意的源码问题
Know When to Use Instruments
当使用Xcode测试APP时,在使用工具(Instruments)之前查看调试导航计量仪 (Figure 2-2)。这些计量仪提供了有关于APP中CPU的高等级信息,内存,能量使用等。这些计量仪提供我们需要提高性能和处理基本问题的所有信息。当我们需要执行更多详解分析的时候,使用Instruments。
Figure 2-2The CPU debugging gauge in Xcode
About This Document
为了帮助我们迅速的找到所需要的信息,接下来的部分将集中Instruments的具体的一些方面:
1:最主要的部分是集中于使用Instruments,这部分覆盖了所有的信息,像创建文档,找到我们所需要的工具(Instruments)来处理我们所需要的处理的事情,性能分析APP,分析相关数据,甚至更多。这里可以找到怎样执行这些基本任务。
2:后面的部分将覆盖更多专业化的任务,比如:提供性能,处理内存问题,提高电池的使用。
3:最后一部分将提供了对于各个工具(instruments)和模板的一个参考指导,也有额外的资源和参考材料。
Background Knowledge 背景知识
在使用Instruments之前,我们应该理解Xcode是怎样进行工作的(Xcode Overview),而且应该明白APP开发的核心概念,比如:APP的编译和运行,以及为设备提供需要是签证文件。
我们也应该理解我们想执行性能分析类型的核心概念。例如:如果我们想确认APP的内存问题,这时候我们应该知道一些有关于内存管理和潜在的内存问题,比如:内存泄露(leaks)和僵尸对象(zombies).如果我们想检查APP的性能问题,我们应该知道CPU和线程使用。如果我们尝试着处理电池的使用问题,我们应该知道什么情况下会大量的影响电量,比如:显示的亮度,网络接口(GPS, Bluetooth, Wi-Fi)的使用,定时器的使用。
相关的背景知识:
Related Documents
WWDC Videos
System Requirements
Instruments通过Xcode安装,如果没有安装Xcode,从Mac App Store进行下载。如果我们计划分析APP,我们将需要提供设备的相关需求, Launching Your App on Devices.
0 0
- Instruments User Guide编程指南1-Introduction
- Instruments User Guide编程指南2-Common Tasks
- Instruments User Guide编程指南3-Navigate Collected Data
- Instruments User Guide编程指南4-Profile You App's Performance
- Instruments User Guide编程指南5-Profile Your App's Memory Usage
- Core Image Programming Guide编程指南-Introduction
- Instruments的普通的方法可以查看Instruments User Guide。
- Ehcache 1.5.0 User Guide - Introduction (介绍)(1)
- UML user guide, chapter 2, UML introduction
- Kibana User Guide [4.2] » Introduction
- [TIRTOS--Introduction]TI RTOS User Guide
- Gradle User Guide(1)
- Ehcache 1.5.0 User Guide - Introduction (介绍)(2)
- Introduction to Engine user guide(介绍Docker引擎手册)
- IT6535 programming guide编程指南
- IOS安全编码指南 Secure Coding Guide -- 01 Introduction 上
- IOS安全编码指南 Secure Coding Guide -- 01 Introduction 下
- SCons User Guide 0.96.1
- C实现大数据文件的内存映射机制
- 微信小程序学习资料汇总
- Android studio 导入另外一个项目作为依赖包问题集锦
- 《深入理解Java虚拟机》笔记
- WEB开发中的页面跳转方法总结
- Instruments User Guide编程指南1-Introduction
- RabbitMQ基础概念详细介绍
- 统计二进制数中1的个数
- Java中遍历Map对象的4种方法
- WebCrawler Java小爬爬 从入门到放弃 第六章
- 路由的Modem信号控制
- Java Collections.sort方法对list集合排序
- JAVA学习35_一个面试官对面试问题的分析_Java垃圾回收
- 自己照抄的一个begin end语句块