iOS 内存泄露查找
来源:互联网 发布:qt淘宝互刷平台2017 编辑:程序博客网 时间:2024/04/29 10:48
在做音视频涉及到多线程就容易引起内存泄露问题。这里记录一下内存泄露定位方法。
1. 查看静态代码:
打开项目:product ->Analyze 可以看到:
这些静态的引起的问题不严重,下面的在多线程中的内存泄露问题比较严重,会随着程序运行内存增加很快。
2.运行过程中造成的内存泄露:
设置xcode:Build Settings->Build Options->Debug Information Format
选择 :DWARF with dSYM File
然后选择:Product->Profile
弹出的Choose a profiling template for对话框,选择Leaks
运行:
可以看到,前20秒钟没有进行音视频播放,没有启动线程,内存检测是绿色表示正常,20秒后启动音视频播放线程就产生内存泄露了。左下方区域是每次循环分配泄露的内存详情,右下区域Stack Trace里面列出了泄露的代码位置,点击进来:
可以看到直接定位到泄露位置了,包括每次运行泄露的大小。我这里用的动态库分配的内存,需要用动态库进行内存释放就行了。具体问题具体解决。
比如我这里用:AVPacket *pkt = av_packet_alloc();
这个方法分配内存,则要用:av_packet_unref(pkt);进行释放。
这种方式查找内存泄露也不是万能的,有时候也会定位不准确,这种方式只能作为一种辅助查找方法。
阅读全文
0 0
- iOS 内存泄露查找
- 查找内存泄露
- VC 内存泄露查找
- 内存泄露查找
- MAT查找内存泄露
- valgrind 查找内存泄露
- 查找nginx内存泄露
- WinDebug查找内存泄露
- LeakCanary: 查找内存泄露
- WinDebug查找内存泄露
- iOS使用Instrument的Leaks查找代码内存泄露
- IOS内存泄露
- iOS内存泄露查处
- Ios 内存泄露
- ios 内存泄露调试
- ios检查内存泄露
- iOS UIWebView 内存泄露
- ios Instruments 内存泄露
- Java学习心得之线程(二)
- Jmeter的_time函数
- C语言结构体常见使用方法
- vuejs高德地图位置选择组件的开发及使用/vuejs地图开发
- 使用turtlesim小例子
- iOS 内存泄露查找
- 当Xcode大于等于8时,如何使用Appium Desktop 获取iOS APP控件的id进行自动化测试
- IE
- 论文阅读理解
- JRE,JDK和JVM的关系
- Linux中进程间通信--共享存储
- Yii2设置前端资源文件的加载位置
- 电热管的水垢如何祛除
- SQL中的DML,DDL,DCL分别表示的是什么