十一. 工具

十一. 工具

分析特定任务时还需要特定的工具,这些任务包括:

  • 识别和验证无障碍标签;
  • 从资源利用率的角度分析应用的运行时执行性能;
  • 分析网络和CoreData的使用情况;
  • 分析渲染性能;
  • 通过自动化代码执行用户交互过程;
  • 分析崩溃日志

11.1 Accessibility Inspector

Xcode->Developer Tools ->Accessibility Inspector; 使用Accessibility Inspector 检测ios APP中控件元素层级结构; 参考文章:http://blog.csdn.net/CC1991_/article/details/70158723,https://www.jianshu.com/p/61a742805ab7

11.2 Instruments

Xcode->Developer Tools -> Instruments; 选择模板后按住Alt/Option键,Choose按钮会变为Profile按钮,按下即可开始分析。 官方文档:https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html#//apple_ref/doc/uid/TP40004652-CH3-SW1

11.2.1 使用Instruments

用Instruments分析应用、改进性能包括以下步骤: (1)打开一个模板。你可以使用预先定义好的模板,也可以创建一个空白的模板。 (2)添加多个Instrument,这一步是可选的。 (3)分析应用,这可能需要启动应用。 (4)收集数据。 (5)分析数据。 (6)如有必要,更新应用。 (7)重复上述步骤直到应用性能令人满意。

输入图片说明

(1)Library图标(打开instrument列表如下图)。 (2)Target选择器(可以选择单独的应用或设备;可以只选择在个人Mac OS X设备上通过开发者证书安装的应用)。 (3)记录、暂停、恢复和停止按钮。 (4)检查器面板。 (5)检查器:记录设置、显示设置以及扩展详情。 (6)instrument选择器。 (7)按时间排列的记录图。 (8)展示已选择分析项详情的详情面板。

选择分析项窗口: 输入图片说明

11.2.2 Activity Monitor 活动监视器

输入图片说明

  • % CPU :消耗CPU资源
  • CPU Time:运行时占用CPU时间
  • Real Memory Usage:占用内存

11.2.3 Allocations 内存分配

被遗弃的内存指的是已经分配但不再使用的内存空间;这部分空间仍然可以回收。 遵循以下步骤来查找被遗弃的内存: (1)选择Allocations模板来分析应用。 (2)确定要测试的初始状态。 (3)进行操作,让应用从初始状态到另一个状态,然后返回。 (4)选在Mark Generation按钮来产生一个堆的快照。 (5)多次重复步骤3和步骤4。 (6)分析快照中捕获的对象,以便定位被遗弃的内存。

输入图片说明

Generation A、B为快照,Growth每个快照增长的内存,点击<non-object>的箭头来查看下图详情 输入图片说明

在检查器面板查看完整的栈追踪。

11.2.4 Leaks 内存泄露

输入图片说明

详情面板列出那些对象发生泄露,以及泄露的数量和泄露内存的大小。 检查器面板中的扩展详情界面展示当时的栈追踪,有助于定位泄露原因。

11.2.5 Connections 网络

调试网络使用情况时需要的内容,其中包括远程服务器地址、传输数据量、请求往返的平均时长和最短时间,等等; 输入图片说明

11.2.6 时间分析器

输入图片说明

参考文章:https://www.jianshu.com/p/9ac281228de2

11.3 Xcode 视图调试器

输入图片说明

11.4 PonyDebugger (2014年停止更新)

参考文章:https://github.com/square/PonyDebugger, https://www.jianshu.com/p/441fe2abae5a, https://www.jianshu.com/p/1c64e0a1806d

11.5 Charles

参考文章:http://blog.devtang.com/2015/11/14/charles-introduction/

猜你喜欢

转载自my.oschina.net/u/2319073/blog/1606420
今日推荐