在设置OpenAL时,泄漏仪器告诉我,我正在此处泄漏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?
最佳答案
以下是清理方法:
alcMakeContextCurrent(NULL);
alcDestroyContext(alContext);
alcCloseDevice(alDevice);
你只要处理完上下文就可以调用这些方法。。。这取决于你的应用程序和你是如何使用它的,但可能在一个
dealloc
某处。