我的应用程序结合了视频序列,并根据情况将音乐添加到最终序列中。添加音乐后,应用程序会检查用户是否选择了一个视频作为介绍,然后将其合并为最终视频。
在运行分析器时,我在第二次和第三次执行此操作时发现内存泄漏:
AVMutableComposition *composition = [AVMutableComposition composition];
在组合初始视频序列时,它不会显示内存泄漏。但如果应用添加音乐和介绍,它会泄漏内存。
添加音乐时,我会创建一个新乐曲,并在添加前奏时创建一个新乐曲。它不会发生在代码的同一部分。
这是问题吗?我不能创建多个 AVMutableComposition?我怎样才能摆脱这些内存泄漏?
Best Answer-推荐答案 strong>
我也遇到过这个问题,但我只对我的组合变量进行了一次赋值,如下所示:
AVMutableComposition* tSilencingComposition = [AVMutableComposition composition];
我不再重复使用组合指针,而是将其分配给 nil 并让 ARC 在应用程序的过程中完成它的工作 - 但每次我点击这条线时,我都会收到泄漏报告。它似乎是 AVMutableComposition 中的东西。
仪器报告我在此分配中泄漏了 6 个字节,进一步深入研究会产生与这些 FigXPC* 调用相同的报告..
关于ios - AVMutableComposition 内存泄漏,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/48806361/
|