我正在开发一个应用程序,其中包含大约500种不同的短音频声音,每种声音都有自己的mp3文件。我正在使用AVAudioPlayer来播放它们。音频不应同时播放。
我想到了几个选择:
- 初始化 500 个 AVAudioPlayer 对象,并在必要时为相关对象调用 play()
- 按住 1 个 AVAudioPlayer,并根据需要将其更改为指向相关文件。 这需要占用 500 个字符串的文件名管理,并在运行时初始化其资源路径以进行重新初始化。(可能更难调试)
- 拥有 500 条资源路径(半资源初始化)和 1 个为它们提供服务的 AVAudioPlayer
最佳实践是什么?
选项 1 是个坏主意,它将使用 GOBS 的内存。它甚至可能导致您的应用程序因使用过多 RAM 而终止。
解决方案 2 和 3 实际上是相同的。