IOS应用内存泄露问题的检测及定位

问题描述:最近新开发了一个Puzzle项目,场景内容包含35个,发现每次选择最多块数的时候会出现崩溃bug,Xcode的Bug日志也不太能看出来问题所在,直到看到“Terminated due to memory issue”才发现是内存泄露问题导致。

最大的问题就是无法定位到内存泄露的具体位置,想改也无从下手,经过不断的查找最终找到了如何检测内存泄露以及准确定位到内存泄露的位置。

工具——Instruments
开发工具:Xcode
查找位置:
1.Xcode->OpenDevelper Tool->Instruments
2.Product->Profile
两种方法都可以进入下面场景,直接选择Leaks即可

3.除了上述两种方法还有一种方法,即打开之后可以运行自己的项目了,在Navigator栏的Debug Navigator (调试管理器)下,点开Memory一项,在MemoryReport区右上角点击Profile Instruments如下图

弹出对话话选择transfer/Profile(Xcode版本不同,出现的对话框不同),即可打开内存检测工具。如下图(我的Xcode版本:13.0):

检测内存泄露
注:该工具为实时监测,所以需要实时运行App,在觉得有问题的地方多测测,如下图

定位内存泄露
1.出现内存泄露时会出现红叉
2.Leaks–>Call Tree
3.点击页面底部栏的Call Tree(此处指的是Xcode8以上, Xcode7在右下角),选择InvertCallTree和Hide System Libraries
4.此时界面显示是就是内存泄漏的代码部分,最后一步就是定位了,此时双击代码行,或者右键选择reveal in Xcode即可定位到内存泄漏的代码行

至此便找到了内存泄露问题及具体位置。
参考文献链接:https://www.sohu.com/a/278776433_216613

希望能给大家带来帮助!!!

IOS应用内存泄露问题的检测及定位相关推荐

  1. leaks Android内存泄露,Android LeakCanary 检测内存泄露

    内存泄漏: 指程序在申请内存后 ,无法释放已经申请的内存空间,一次内存泄漏可以忽略,但内存泄漏堆积后果很严重,无论多少内存,都会被占光 内存泄露危害: 1.内存泄露最终会导致内存溢出(OOM) 2.导 ...

  2. iOS开发内存泄露修复

    2019独角兽企业重金招聘Python工程师标准>>> 一:写在前面 请使用ARC!!! 如果使用的第三方库不支持ARC机制,可以在target->build phase-&g ...

  3. Lua内存泄露检查和性能检测工具

    1. ToLua#的编译 之前的博客有提到过,我们使用的是ToLua#作为Unity引擎和Lua之间的桥接工具,本文记录的集成工具都是在C层进行的,因此要编译自己的ToLua#. ToLua#的源码地 ...

  4. 什么是内存泄露?怎么检测

    来源:https://blog.csdn.net/u014796694/article/details/80795372 什么是内存泄露? 简单地说就是申请了一块内存空间,使用完毕后没有释放掉.它的一 ...

  5. ios 修复 内存泄露_Semtech发布全新LoRa射频收发器;丝芙兰用户数据遭泄露 | 一周物联网新闻大视野...

    本文来源:网络综合整理 传感器和条码 搜索 1.麻省理工学院推出新型传感器 提高败血症诊断效率 2019年8月2日消息 近日,麻省理工学院的研究团队开发了一种新型传感器,能够更快.更简易并且更便宜地诊 ...

  6. ios 修复 内存泄露_iOS 内存泄漏如何解决

    5.上面的方法写了一个 OC 版本的: .h: #import @interface UIViewController (FindLeaks) // 默认为 NO @property (nonatom ...

  7. iOS应用程序内存泄露的监测

    iOS程序内存泄露的检测 文章目录 iOS程序内存泄露的检测 Allocation工具 使用步骤 1.制造内存泄露 2.使用Allocations工具进行内存检测 总结 # 前言 Instrument ...

  8. C语言内存泄露检测--Memwatch

    项目:迅雷下载库内存泄露检测 作者:曾金龙 供职:深圳迅雷网络技术股份有限公司 领域:迅雷下载库 时间:2014-07-26 迅雷的移动下载库是用C语言编写的,为了能够横跨欧亚非拉(ios,andro ...

  9. iPhone Instruments工具使用_检测内存泄露(转)

    最近常使用Instruments这个工具,我发现它对追踪游戏中的内存泄露非常有帮助.自从发现Instruments如此有用后,我就觉得写一篇文章介绍如何使用它来追踪内存泄露对其他人也会有帮助. 什么是 ...

最新文章

  1. 服务器管理神器 开源堡垒机 jumpserver 实战教程
  2. js react根据几个颜色点计算区间任意数值对应颜色
  3. jsonobject修改key的值_Go 语言 map 解析之 key 的定位核心流程
  4. tomcat修改http长度限制_设置tomcat nginx上传文件大小限制
  5. python画简单图-python绘制简单彩虹图
  6. leetcode之逆波兰表达式
  7. zabbix-3.0.3 mysql表分区的方法
  8. 解决国外资源下载速度过慢的问题
  9. CVPR2022论文速递(2022.3.24)!共11篇含表情识别/deepfake检测/插帧等
  10. 柳传志回应“联想5G投票事件”:不要罔顾事实挑拨离间
  11. 2019牛客国庆集训派对day5 K(2017四川省赛)
  12. 蒂姆•库克在斯坦福毕业典礼上都讲了啥?
  13. Qt设计一个给图像打掩膜的界面
  14. windows基于TCP/IP的简单文件/图片传输
  15. 波兰式与逆波兰式的转换和表达式求值
  16. 表示转折时yet与but的区别是什么
  17. 仓储货架安全在线监测系统TMP-ANG-S002
  18. 南邮考研811数据结构经验分享
  19. 搞搞 Prometheus 的告警原理
  20. 谈谈本地缓存的几种方式以及他们的区别?

热门文章

  1. 淘宝旅行单日出票量超2.6万张创同类网站纪录
  2. 如何快速下载一些比较难下载的外国文献论文
  3. scala函数式编程_想要开始进行函数式编程,请进入scala
  4. 2020给图片加标签、链接
  5. mte(Mesh Terrain Editor)快速上手
  6. 一文读懂TDengine的三种查询功能
  7. python 灰色关联分析法(GRA)求权重
  8. django 微信网页授权登陆实战
  9. 用LATEX插入图片时,要将figure 1:改为fig.1.
  10. 【安全牛学习笔记】SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES