【腾讯开源】iOS爆内存问题解决方案-OOMDetector组件

OOMDetector是腾讯自研的iOS内存监控组件,用于解决爆内存堆栈统计和内存泄漏检测。它通过Hook内存分配方法,记录堆栈信息,并在内存触顶时Dump数据。此外,组件还具备内存泄漏检测功能,可检测Malloc内存块和OC对象的无主内存泄漏。OOMDetector已在GitHub开源,有助于开发者定位和解决内存问题。
摘要由CSDN通过智能技术生成

组件介绍

OOMDetector是手Q自研的IOS内存监控组件,腾讯内部目前已有多个App接入了OOMDetector,它主要有以下两个功能:

  • 爆内存堆栈统计:负责记录进程内存分配堆栈和内存块大小,在爆内存时Dump堆栈数据到磁盘

  • 内存泄漏检测:检测内存泄漏,目前支持Malloc内存块和OC对象的泄漏检测

OOMDetector可以快速帮助开发者发现和定位App爆内存问题和内存泄漏,组件目前已经在Github开源,源码地址:https://github.com/Tencent/OOMDetector

背景

目前业内已有一些比较的IOS内存分析工具,下面逐个介绍这些工具的功能以及它们在使用上的不足。

Allocation

作为IOS开发,我们都很熟悉苹果官方提供的Allocation内存分析工具,在开发调试阶段,可以用Allocation详细分析App各模块内存占用。Allocation对App的内存监控比较全面,能监控到所有堆内存以及部分VM内存分配。虽然Allocation的功能比较强大,但是它也有比较明显的使用局限性,主要表现为以下两点:

  • 无法独立在App运行,只能在调试阶段连接Mac使用

  • 性能较差,大型App开启后容易引发卡死

这两点限制决定了Allocation只适合于在开发阶段辅助分析代码中存在的内存问题,而无法直接对线上用户的问题进行监控和定位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值