OpenGL导致内存泄漏

时间:2012-12-30 13:14:16

标签: ios xcode memory-leaks

我有一个OpenGL ES活动,由于某种原因它甚至在评论几乎所有行后都会导致内存泄漏。这是剩下的代码

.h文件

#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>

@interface PlayMain : GLKViewController <UIAccelerometerDelegate>{ }

@end

.m文件

@interface PlayMain ()
{

}

@property (strong, nonatomic) EAGLContext *context;
@property (strong, nonatomic) GLKBaseEffect *effect;

@end

@implementation PlayMain{}

@synthesize context = _context;
@synthesize effect = _effect;

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
    if (!self.context)
    {
        NSLog(@"Failed to create ES context");
    }

    GLKView *view = (GLKView *)self.view;
    view.context = self.context;
    view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
    [EAGLContext setCurrentContext:self.context];
}

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
}

在openGL活动和另一个活动(它包含3个标签和一个按钮,创建一个回到openGL活动的segue)之间大约10-20次切换后,应用程序会收到内存警告。如果我继续,那么在几次开关之后,该过程终止。我错过了什么吗?

我正在测试的设备是ipod4,我在项目设置中使用ARC。

0 个答案:

没有答案