性能优化01.1:Leaks内存泄漏探索

张建 lol

前言

XCode 中,提供两种工具帮助查找泄漏点

Analyze 静态分析工具

  • 通过 Product -> Analyze,快捷键 CMD + Shift + b:
  1. 逻辑错误:访问空指针或未初始化的变量等
  2. 内存管理错误:如内存泄漏等
  3. 声明错误:从未使用过的变量
  4. API调用错误:未包含使用的库和框架

Instruments 动态分析工具

  1. CMD + i 打开

  1. 打开界面的介绍

instruments 中,选择了 Leaks 模板,默认情况下也会添加 Allocations 模板,基本上凡是内存分析都会使用 Allocations 模板,它可以 监控内存分布情况

  • 选中 Allocations 模板即图1区域,3区域会显示随着时间变化内存使用的折线图,图4显示内存使用的详细信息以及对象分配情况

  • 选中 Leask 模板即图2区域,可以 查看内存泄漏情况,如果 3 区域有 红X 出现,则 内存泄漏4 区域显示内存泄漏的对象

  1. 打开 leaks 进行监测

点击泄漏对象可以看到他们的内存地址,占用字节,所属框架和响应方法等信息,打开扩展视图,可以看到右边的跟踪堆栈信息

  1. 监测结果分析

  1. Allocations 内存分布版面介绍

  • Post title:性能优化01.1:Leaks内存泄漏探索
  • Post author:张建
  • Create time:2023-02-08 16:34:17
  • Post link:https://redefine.ohevan.com/2023/02/08/OC性能优化/性能优化01.1:Leaks内存泄漏探索/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
性能优化01.1:Leaks内存泄漏探索