我如何知道一个实例为AUSampler使用了多少内存(大概包括soundFont数据大小)。

我尝试了一个简单的sizeof(如下),但这并没有给我带来我所理解的任何东西。 4? 4什么?

为此,我正在为iOS创建音乐玩具。 AUSampler是单声道的,因此使用同一采样器实例的两条音轨会切断彼此的音符。同样,soundFonts可能具有许多预设,因此,如果我想使用同一soundFont的不同预设,则需要创建多个AUSampler实例。由于soundFonts可以运行到几兆字节或更多,因此我想确定我的内存开销是多少。 - 谢谢!

节点:4.000000单位:4.000000

Float64 nodeSize = sizeof(samplerNode);
Float64 unitSize = sizeof(samplerUnit);

printf("node: %f unit: %f \n", nodeSize, unitSize);

最佳答案

使用Xcode中的Instruments报告您的应用程序的内存使用情况,然后尝试使用不同数量的工具运行您的应用程序以获取数据以计算每增加一个的内存使用情况。

任何对象(例如AUSampler)使用的内存量可能与对象的大小(远远大于对象指针的大小)大不相同。

10-07 19:54