Должен ли я выпустить контекст OpenAL здесь?
При настройке 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?
1 ответ
Решение
Вот как бы вы убрали:
alcMakeContextCurrent(NULL);
alcDestroyContext(alContext);
alcCloseDevice(alDevice);
И вы просто вызываете эти методы всякий раз, когда закончите с контекстом... который зависит от вашего приложения и от того, как вы его используете, но, вероятно, в dealloc
где-то.