04-iOS 性能优化|性能调试工具Instruments-Allocations工具使用

前言

在项目中,直接面向用户的客户端往往是一个项目的门面。因此,在项目开发建设的过程中,为了交付用户体验较佳的客户端App,保障产品交付质量。往往需要我们开发者关注客户端软件的性能指标问题。因此,我们要对应用的性能优化专题有所研究!!
我们通常关注的性能指标有:

  • 页面卡顿
  • 耗电、发热
  • 网络优化
  • 应用启动
  • 安装包瘦身

我们在开发建设项目过程中,可以粗略划分为几个阶段:开发阶段测试阶段维护阶段:

  • 开发阶段,我们要掌握性能调试性能监测的手段,从而保障,在当前稳定版本的客户端软件,有一个比较合理的性能保障;
  • 测试阶段,测试团队等若干同事往往会给我们提出一些用户体验上的反馈和建议,因此,我们需要掌握性能调试的手段,从而改造出比较符合团队要求的产品;
  • 在上线维护阶段,针对已经上线的应用,我们的开发团队要有线上性能监控的能力,从而及时收集不满足性能指标要求的业务交互场景和步骤,捕获具体问题进行分析,从而以此为依据作为有效迭代优化我们客户端的有力助力。

为此,我们本次将会用几篇文章,围绕一些常见的性能指标,去关注 如何调试、如何监测、如何改进处理问题:

一、概述

本文主要是针对 开发阶段测试阶段 这两个线下场景,围绕常见的几个性能指标要点:页面卡顿离屏渲染耗电优化内存泄露App启动优化,展开来陈述如何利用Instruments工具进行性能调试的。关于相关的同一主题的其它要点,我们会在其它文章,用新的篇幅进行讨论。

二、 Instruments工具

我们前面通过一篇文章简答介绍了Instruments这个苹果官方自带的调试工具,若本篇文章是您阅读我的第一篇文章,且您对Instruments了解甚少,可以先阅读我的这篇文章先对该工具有基本的认识:Instrument简单介绍

我们通常可以右击Xcode打开Instruments工具: Xcode->Open Developer Tool->Instruments
image.png 我们还可以在Xcode打开项目的前提下,通过以下两个方式打开Instruments:

  1. 按下两个键:Command + I打开Instrument;
  2. 或者点击:Xcode->product->profile;

image.png

三、Allocations检测工具

image.png

四、Allocations设置

右下角面板,您可在这里修改您想要查看的分配类型的相关设置。除了确保 Created & Persistent 气泡已被选中之外,没有其他什么需要提前做的事。

image.png

五、运行Allocations检测工具

image.png 该instrument工具捕获以下信息:

    1. Category(类别)
    • 通常是一个 Core Foundation 对象、Objective-C 类、或原始 
内存块(block)。
    1. Persistent Bytes(净分配字节数)
    • 当前已经分配内存但是仍然没有被释放的字节的总数。
  • 3. #Persistent(净分配数)
    • 当前已经分配内存但仍然没有被释放的对象或内存块的数量。
    1. #Transient(临时分配数)
    • 当前已经分配内存但仍然没有被释放的对象或内存块的数量。
    1. Total Bytes(总分配字节数)
    • 所有已经分配内存,而且包括已经被释放了的 
字节的总数。
    1. #Total(总分配数)
    • 所有当前已经分配内存,包括已经被释放了的对象或内存 
块的总数。
    1. Transient(临时分配数)
    • 当前和全部分配数的直方图。如上图所示当比例变化时,直方条会变颜色,Instruments 应用通常给它们标示不同的颜色来指出分配模式以便进行进一步的研 究。

总结

本文 简单介绍了 项目 性能调试工具 Instruments 的基本使用,目前只对Allocations调试这一块 做了简单介绍 。
接下来会用几篇文章,围绕几个常见的性能问题,展开对 性能调试工具 Instrument 的 其它模块的使用介绍

相关系列文章

Instruments

其它性能指标的关注

猜你喜欢

转载自juejin.im/post/7088724399305523237