Новое в разработке для iOS и, в частности, новые функции, связанные с OpenGL, в iOS 5, поэтому прошу прощения, если какой-либо из моих вопросов настолько прост.
Приложение, над которым я работаю, предназначено для приема кадров камеры и отображения их на экране через OpenGL ES (графические специалисты возьмут на себя это и добавят фактический рисунок OpenGL, о котором я очень мало знаю). Приложение разработано XCode4, а целью является iPhone4 под управлением iOS 5. На данный момент я использовал функции ARC и GLKit, и все работает нормально, за исключением утечки памяти при загрузке изображений в виде текстуры. Очень скоро приложение получит «предупреждение о памяти».
В частности, я хотел бы спросить, как освободить текстуры, выделенные
@property(retain) GLKTextureInfo *texture;
-(void)setTextureCGImage:(CGImageRef)image
{
NSError *error;
self.texture = [GLKTextureLoader textureWithCGImage:image options:nil error:&error];
if (error)
{
NSLog(@"Error loading texture from image: %@",error);
}
}
Изображение
- это кварцевое изображение, созданное из кадра камеры (пример кода от Apple). Я знаю, что проблема не в этой части кода, поскольку, если я отключу назначение, приложение не получит предупреждение.