设置OpenAL时,Leaks Instruments告诉我,我在这里泄漏了alContext:
alDevice = alcOpenDevice(NULL);
if (!alDevice) {
return NO;
}
alContext = alcCreateContext(alDevice, 0); // leaking!
if (!alContext) {
return NO;
}
BOOL success = alcMakeContextCurrent(alContext);
if (!success) {
return NO;
}
return YES;
我应该在何处以及如何发布alContext?
答案 0 :(得分:1)
以下是清理方法:
alcMakeContextCurrent(NULL);
alcDestroyContext(alContext);
alcCloseDevice(alDevice);
只要你完成了上下文,你就会调用这些方法......这取决于你的应用程序以及你如何使用它,但可能在dealloc
的某个地方。