我從來沒有遇到過使用儀器檢測我以前的應用程序泄漏的問題,但出於某種原因,我無法在當前應用程序中檢測到任何泄漏。我甚至創建了一些泄漏只是爲了試圖讓它做些事情。我已經嘗試過我的應用程序作爲ARC和非ARC,但這不會改變任何東西。無論我做什麼,都沒有發現泄漏。xcode profiler在我的應用程序中檢測不到泄漏
順便說一句,這是一個cocos3d應用程序;不是這應該是對的?
我已經儘可能遵循Ray的教程(http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode),它在測試示例代碼時確實會導致泄漏被檢測到。我將有問題的代碼複製到我的應用程序中,然後再次使用模擬器和設備嘗試,但仍然沒有任何結果。下面是我用來嘗試和創造泄露代碼:
- (IBAction)rotateTapped:(id)sender {
NSLog(@"settingsButtonPushed");
UIImage *currentImage = _imageView.image;
CGImageRef currentCGImage = currentImage.CGImage;
CGSize originalSize = currentImage.size;
CGSize rotatedSize = CGSizeMake(originalSize.height, originalSize.width);
CGContextRef context = CGBitmapContextCreate(NULL,
rotatedSize.width,
rotatedSize.height,
CGImageGetBitsPerComponent(currentCGImage),
CGImageGetBitsPerPixel(currentCGImage) * rotatedSize.width,
CGImageGetColorSpace(currentCGImage),
CGImageGetBitmapInfo(currentCGImage));
CGContextTranslateCTM(context, rotatedSize.width, 0.0f);
CGContextRotateCTM(context, M_PI_2);
CGContextDrawImage(context, (CGRect){.origin=CGPointZero, .size=originalSize}, currentCGImage);
CGImageRef newCGImage = CGBitmapContextCreateImage(context);
UIImage *newImage = [UIImage imageWithCGImage:newCGImage];
self.imageView.image = newImage;
}
這裏的(多次調用)我的一些代碼,我一直在努力,專門創建一個泄密:
// if (! self.robotViewController) {
robotViewController = [[RobotViewController alloc] initWithNibName:@"RobotViewController" bundle:nil];
self.robotViewController.glView = self.m_glView;
self.robotViewController.delegate = self;
// }
這只是讓我瘋狂在這一點上。我必須在這裏錯過一些東西,因爲這沒有意義。任何人有任何建議?