我有一个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。