gpt4 book ai didi

ios - 读取音频文件时出现大量内存峰值

转载 作者:太空宇宙 更新时间:2023-11-04 01:37:31 25 4
gpt4 key购买 nike

我目前正在使用 Dirac 的 (OSStatus) readFloatsConsecutive:(SInt64)numFrames intoArray:(float**)audio 函数从文件中读取音频 float 。我创建了一个 float 指针 **

arrayToFill = malloc(channelCount * sizeof(float*));

for(int i = 0; i < channelCount; ++i)
{
arrayToFill[i] = malloc(frameCount * sizeof(float));
}

并将其传递给 Dirac 函数,当所有 float 都被分配时,我得到了一个巨大的内存峰值。

在仪器中,我发现峰值增加了大约 90MB,并且出于某种原因,该应用仍在设备上运行。

例如15839544 * 2 个 float 导致这些巨大的尖峰?

它怎么会占用这么多内存?是虚拟内存吗?我没有看到任何 VM 分配。

我看不到如何加载单个文件,例如5MB 的音频文件会导致如此大的内存峰值。

最佳答案

would e.g. 15839544 * 2 number of floats cause these massive spikes?

是的,绝对是。一个 float 为 4 个字节,因此两个数组各有 1580 万个 float ,总共大约 120 MB。

至于如何从一个 5 MB 的输入文件中得到这样的结果:音频压缩是一件了不起的事情。 :)

关于ios - 读取音频文件时出现大量内存峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11874047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com