前语

在项目中,直接面向用户的客户端往往是一个项目的门面。因而,在项目开发建造的进程中,为了交给用户体会较佳的客户端App,保证产品交给质量。往往需求咱们开发者重视客户端软件的功用指标问题。因而,咱们要对运用的功用优化专题有所研讨!!
咱们一般重视的功用指标有:

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

咱们在开发建造项目进程中,能够粗略划分为几个阶段:开发阶段测验阶段维护阶段:

  • 开发阶段,咱们要把握功用调试功用监测的手法,然后保证,在当前稳定版别的客户端软件,有一个比较合理的功用保证;
  • 测验阶段,测验团队等若干搭档往往会给咱们提出一些用户体会上的反应和主张,因而,咱们需求把握功用调试的手法,然后改造出比较符合团队要求的产品;
  • 在上线维护阶段,针对现已上线的运用,咱们的开发团队要有线上功用监控的能力,然后及时搜集不满足功用指标要求事务交互场景和进程,捕获具体问题进行剖析,然后以此为依据作为有效迭代优化咱们客户端的有力助力。

为此,咱们本次将会用几篇文章,环绕一些常见的功用指标,去重视 怎么调试、怎么监测、怎么改善处理问题:

  • Instruments
    • 01-iOS功用优化|功用调试东西Instruments简略介绍
    • 02-iOS功用优化|功用调试东西Instruments-CoreAnimation运用
    • 03-iOS功用优化|功用调试东西Instruments-Leaks东西运用
    • 04-iOS功用优化|功用调试东西Instruments-Allocations东西运用
  • 其它功用指标的重视
    • 05-iOS功用优化|常见的几个功用指标关键:页面卡顿、离屏烘托、耗电优化、App发动优化、安装包瘦身
    • 06-iOS功用优化|功用指标监测

概述

本文主要是针对 开发阶段测验阶段 这两个线下场景,环绕一些常规的功用问题,打开来陈说对应的 功用调试东西的。关于相关的同一主题的关键,咱们会在其它文章,用心的篇幅进行评论。

一、功用调试东西Instrument

Instrument苹果官方IDE Xcode 自带的 调试东西,有若干调试功用(见文章第二节)。,咱们能够从Xcode的进口拜访:Xcode->Open Developer Tool->Instrument
咱们也能够经过官方网文档 对其有更详实的了解:developer.apple.com/videos/play…

二、Instrument

本图来自 Xcode 13.3.1

01-iOS性能优化|性能调试工具Instrument简单介绍

  • Blank:空白,能够运用库中的东西定制的空白盯梢文档
  • Activity Monitor:活动监督器,监督进程和体系的CPU、内存、磁盘和净作业运用量计算数据
  • Allocations:内存分配,盯梢进程的匿名虚拟内存和堆,为对象供给类名和可选的保留/开释前史
  • Animation Hitches:动画监督,此模板经过时刻剖析来衡量运用程序图形功用以及进程的CPU运用情况
  • App Launch:发动问题,能够用于查看App的发动进程,然后能够针对性的对发动速度进行优化
  • Core Data:中心数据,此模板盯梢中心数据文件体系活动,包含获取、缓存失败和保存
  • Counters:计数器,运用时刻或依据工作的采样办法搜集功用监督器计数器(PMC)工作
  • `Energy Log:动力的日志,此模板供给有关动力运用的诊断信息以及主要设备组件的基本开/关状况
  • File Activity:文件活动,此模板监督文件和目录活动,包含文件翻开/关闭调用、文件权限修正、目录创立、文件移动等。
  • Game Performance:(没有研讨)
  • Leaks:泄漏,衡量一般内存运用情况,查看泄漏内存,并依据类供给对象分配的计算信息,以及一切活动分配和泄漏块的内存地址前史记录。
  • Logging:(没有研讨)
  • Metal System Trace:金属体系盯梢,Metal System Trace经过供给来自运用程序、驱动程序和GPU层的盯梢信息,介绍了iOS、tvOS和macOS Metal运用程序的功用
  • Network:网络,运用衔接东西剖析运用程序怎么运用TCP/IP和UDP/IP衔接
  • SceneKit:概述运用程序对SceneKit的运用。确认进入每个帧的作业类型,例如动画、物理、场景挑选和烘托。
  • SwiftUI:(没有研讨)
  • System Trace:体系盯梢,操作体系中发生的工作的一个全面的观念。了解怎么跨cpu调度线程,了解体系调用和虚拟内存错误怎么影响运用程序的功用。
  • Time Profiler:时刻剖析器,对运行在体系cpu上的进程执行依据低开支时刻的采样。
  • Zombies:僵尸,在检测过度开释的“僵尸”对象的一起,丈量一般的内存运用情况。还依据类供给对象分配的计算信息,以及一切活动分配的内存地址前史记录。

总结

本文 简略介绍了 项目 开发的几个阶段,会用到的 功用重视 手法问题,但本文只是针对 线下开发、线下测验阶段 能用到的 功用调试东西 Instrument 做了简略介绍 。
接下来会用几篇文章,环绕几个常见的功用问题,打开对 功用调试东西 Instrument 的 基本运用介绍。

相关系列文章

Instruments

  • 01-iOS功用优化|功用调试东西Instruments简略介绍
  • 02-iOS功用优化|功用调试东西Instruments-CoreAnimation运用
  • 03-iOS功用优化|功用调试东西Instruments-Leaks东西运用
  • 04-iOS功用优化|功用调试东西Instruments-Allocations东西运用 其它功用指标的重视
  • 05-iOS功用优化|常见的几个功用指标关键:页面卡顿、离屏烘托、耗电优化、App发动优化、安装包瘦身
  • 06-iOS功用优化|功用指标监测