只是为了确认.当通过OpenSL ES for Android创建的音频播放器完成播放缓冲区时,垃圾收集器会自动释放该缓冲区吗?或者我需要自己释放缓冲区吗?
如果是后者,我可以使用一些帮助.但就目前而言,我不会发布任何代码,直到我被告知我需要自己做…
解决方法:
缓冲区队列本身并不实际分配缓冲区内存(或需要释放它),您可以通过“enqueue”函数将指针传递给已分配的内存.完成缓冲后,您将需要释放分配的内存.
由于OpenSL ES是C语言中的本机库,因此它不知道垃圾收集,您为API分配的任何内存都必须由您释放,并且您创建的对象必须在其上调用“destroy”来清理内部内存.