Я не знаю, если это я или я обнаружил какую-то проблему с AKWaveTable.
В основном, когда я загружаю аудиофайл (короткий, около 7 секунд) и назначаю его AKWaveTable для выборкиа затем позже я пытаюсь заменить его другим, новый файл загружается, но выделенная память продолжает расти.
Вот псевдокод:
class Element {
var player:AKWaveTable?
//other stuff
init(_ path:String){
let temp_file = try AKAudioFile(readFileName: path)
self.player = AKWaveTable(audioFile: temp_file)
}
}
В какой-то моментмой код:
//declare array of class Element
var sample:[Element] = []
//and put something into it's elements
sample[n] = Element("path/to/file.wav")
//do some stuff
//then replace that sample with another file
sample[n] = Element("path/to/another/file.wav")
Этот же процесс, выполненный с помощью AKPlayer, работает нормально, но мне действительно нужен AKWaveTable для повышения производительности.
После некоторой последовательной замены сэмплов выделенная память растет довольно быстродо 900 МБ!
Что я делаю не так?Любая помощь будет признательна, спасибо!
Приложение для MacOS.
Swift 4.2
AudioKit 4.5.2
Xcode 10.0
MacOS High Sierra 10.13.6