2014-04-23 110 views
0

我使用此代碼創建一個cgimage:CGImage造成內存泄露

UIGraphicsBeginImageContext(CGSizeMake(size*2, size*2)); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

[[SKColor colorWithWhite:0.8 alpha:1] setFill]; 
CGContextFillEllipseInRect(ctx, CGRectMake(0, 0, size*2, size*2)); 

UIImage *textureImage = UIGraphicsGetImageFromCurrentImageContext(); 
SKTexture *texture = [SKTexture textureWithImage:textureImage]; 

SKSpriteNode *node = [SKSpriteNode spriteNodeWithTexture:texture]; 

顯然,這是問題的根源。

我試着將它包裝在autorelease塊中,我嘗試了cfreleasing cgimageref,但我使用的是ARC,所以這些都沒有做任何事情。到底是怎麼回事??

enter image description here

回答

3

我想你可能需要UIGraphicsEndImageContext調用有些乾淨的東西了。

此外,創建SKTexture對象後,將「textureImage」設置爲零,看看是否有幫助。