[✔️]xcode Instrucments排查app的内存泄露

简介: [✔️]xcode Instrucments排查app的内存泄露

以Profile运行APP


有2种启动方式:


image.png


启动后需要选择分析模板,这里我们采用Leaks,用来排查内存泄露:


image.png


当然你也可以从Profile in Instrucments进入:

image.png


Instrucments界面


启动Instrucments后,需要打开recording,这样app就能启动了,同时instrucments也开始了追踪。


image.png


image.png


image.png


主要有2大功能:


  • Allocations: 查看内存分配情况


  • All Heap: 所有的堆栈分配情况


  • Anonymous VM: 虚拟内存分配情况


  • Leaks:内存泄露情况


Allocations


image.png


左上角可以切换子功能


Statisitcs:统计


image.png


  • category:类型


  • Persistent(持久): 内存中的Object使用的内存大小


  • # Persistent: 数量,类似其他语法中的lenth函数


  • Transient(转瞬即逝):释放的内存大小


  • # Transient:数量


Call Trees:调用顺序


image.png


可以通过下边的Call Tree过滤、调整显示顺序等,方便检索查看


Allocations List:分配列表


Generations:用来对比2个时刻的差异


底部菜单


image.png


设置需要记录哪些Allocation


  • Mark Generation:和Generations配合使用


  • All Allocations:所有的


  • Created & Persistent:创建且存活的


  • Created & Destroyed:创建且被销毁的


image.png


  • All Heap Allocations:所有的堆栈情况


  • All VM Regions:所有的虚拟内存区域


Leaks


image.png


红×表示内存泄露,这里会提示发生内存泄露的数量,不是这里发生了内存泄露,感觉Leaks会定时检测,给出的是距离上次检测的结果。


  • 当我们点击Leaks时,底部统计的是当前所有的Leaks


  • 当我们框选区域时,底部统计的是区域内的Leaks


统计信息非常详细,Responsible Frame里面有时会只显示内存地址,解决办法是debug时要选择 dwarf with dSYM File.


image.png

目录
相关文章
|
6月前
|
Java 数据库连接
Java中的内存泄漏排查与预防方法
Java中的内存泄漏排查与预防方法
|
3月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
879 7
|
6月前
|
监控 Java
Java中的内存泄漏分析与排查技巧
Java中的内存泄漏分析与排查技巧
|
2月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
54 11
|
2月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
6月前
|
存储 监控 算法
LeakCanary 的内存泄露问题排查
LeakCanary 的内存泄露问题排查
90 0
|
4月前
|
监控 Java Linux
redisson内存泄漏问题排查
【9月更文挑战第22天】在排查 Redisson 内存泄漏问题时,首先需确认内存泄漏的存在,使用专业工具(如 JProfiler)分析内存使用情况,检查对象实例数量及引用关系。其次,检查 Redisson 使用方式,确保正确释放资源、避免长时间持有引用、检查订阅和监听器。此外,还需检查应用程序其他部分是否存在内存泄漏源或循环引用等问题,并考虑更新 Redisson 到最新版本以修复潜在问题。
156 5
|
5月前
|
Java 容器
【Azure Function App】Java Function在运行中遇见内存不足的错误
【Azure Function App】Java Function在运行中遇见内存不足的错误
|
8月前
|
缓存 算法 安全
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(二)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
79 0
|
5月前
|
JavaScript Java 开发工具
Electron V8排查问题之接近堆内存限制的处理如何解决
Electron V8排查问题之接近堆内存限制的处理如何解决
350 1

热门文章

最新文章