android – 是否需要释放来自OpenSL ES音频播放器的已完成缓冲区?

只是为了确认.当通过OpenSL ES for Android创建的音频播放器完成播放缓冲区时,垃圾收集器会自动释放该缓冲区吗?或者我需要自己释放缓冲区吗?

如果是后者,我可以使用一些帮助.但就目前而言,我不会发布任何代码,直到我被告知我需要自己做…

解决方法:

缓冲区队列本身并不实际分配缓冲区内存(或需要释放它),您可以通过“enqueue”函数将指针传递给已分配的内存.完成缓冲后,您将需要释放分配的内存.

由于OpenSL ES是C语言中的本机库,因此它不知道垃圾收集,您为API分配的任何内存都必须由您释放,并且您创建的对象必须在其上调用“destroy”来清理内部内存.

上一篇:鸿蒙内核源码分析(进程概念篇) | 进程都管理了哪些资源? | 百篇博客分析HarmonyOS源码 | v24.03


下一篇:javacv之视频的切割