GDB дает мне что-то вроде этого:
Alloc: Block address: 0x12387ff0 length: 16
Stack - pthread: 0xa0014540 number of frames: 38
0: 0x5fb8e in GMmalloc_zone_malloc_internal
1: 0x5fd31 in GMmalloc_zone_malloc
2: 0x60327 in GMmalloc_zone_calloc
3: 0x60375 in GMcalloc
4: 0x132a2d4 in class_createInstance
5: 0xec65d8 in +[NSObject(NSObject) allocWithZone:]
6: 0x48218e in +[UIColor allocWithZone:]
7: 0xec63da in +[NSObject(NSObject) alloc]
8: 0x4812c6 in +[UIColor clearColor]
9: 0x15b1d in -[EAGLView initWithCoder:]
Как мы видим, EAGLView задействован ...
... и на самом деле после некоторого копания я понял, что проблема быладелать с цветом фона EAGLLayer.Я объявил это следующим образом:
eaglLayer.backgroundColor = (CGColorRef) [UIColor clearColor];
До тех пор это обычно работало нормально.
Я исправил это с помощью:
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
const CGFloat clearColor[] = {0.0, 0.0, 0.0, 0.0};
eaglLayer.backgroundColor = CGColorCreate(rgb, clearColor);
CGColorSpaceRelease(rgb);
или короче:
eaglLayer.backgroundColor = [UIColor clearColor].CGColor;
С тех пор не исключение.
@ chown: спасибо за ваш совет.
wl