audiokit - AKPeriodicFunction 中的内存泄漏
问题描述
我一直在 macOS 上使用 AudioKit 4.7.1 AKPeriodicFunction 并注意到即使对于简单的用例,内存也在增长。我还没有在 iOS 上测试过。
我实现了一个简单的例子,你可以通过 Leaks 来跟踪内存。
let path = Bundle.main.resourcePath! + "/leadloop.wav"
let player = AKPlayer(url: URL(fileURLWithPath: path))!
player.isLooping = true
let periodicFunction = AKPeriodicFunction(frequency: 5.0){
}
AudioKit.output = player
try? AudioKit.start(withPeriodicFunctions:periodicFunction)
periodicFunction.start()
player.play()
在此示例中,内存不应增加。这是堆栈跟踪中最重要的部分,可能会有所帮助,
11 AudioToolbox 34.11 MB __26-[AUAudioUnit renderBlock]_block_invoke
10 macos-leak-test 34.11 MB __52-[AKOperationGeneratorAudioUnit internalRenderBlock]_block_invoke
9 macos-leak-test 34.11 MB DSPKernel::processWithEvents(AudioTimeStamp const*, unsigned int, AURenderEvent const*)
8 macos-leak-test 34.11 MB AKOperationGeneratorDSPKernel::process(unsigned int, unsigned int)
7 macos-leak-test 34.11 MB plumber_compute
6 macos-leak-test 34.11 MB plumbing_compute
5 macos-leak-test 34.11 MB sporth_fexec
4 macos-leak-test 34.11 MB akCustomUgenFunction(plumber_data*, sporth_stack*, void**)
3 libobjc.A.dylib 34.11 MB -[NSObject autorelease]
解决方案
推荐阅读
- openshift - 如何使用 oc 命令扩展 Deployment 而不是 DeploymentConfig
- r - pivot_wider 仅在 R 中的一列上
- python - 为数据框中的每一行生成一个代码
- apache-spark - 数据集 foreach 中的 SparkSession 空点异常
- typescript - 来自元组的打字稿文字对象,其中键和值相同
- android - 使用 ScrollView 设计注册活动
- node.js - 如何在云功能中获取 Google Play 订阅通知
- git - 我如何获得在 gitlab ci 中使用 git push 的权限?
- directx - DirectX 重新计算内部/外部实现
- json - 根据特定条件使用 jq 删除 JSON 数组中的重复对象