0
我有一个函数,它将接口的屏幕截图保存到一个实例属性(称为self.interfaceScreenshot)。drawViewHierarchyInRect导致虚拟机CG图像内存泄漏
-(void)takeInterfaceScreenshot{
// Iterate over every window from back to front
for (UIWindow *window in [[UIApplication sharedApplication] windows])
{
if (![window respondsToSelector:@selector(screen)] || [window screen] == [UIScreen mainScreen])
{
UIGraphicsBeginImageContext([window bounds].size);
[[self view] drawViewHierarchyInRect:[window bounds] afterScreenUpdates:YES];
}
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
if(self.interfaceScreenshot != nil){
self.interfaceScreenshot = nil;
}
self.interfaceScreenshot = image;
}
但我在仪器探查我每次调用这个函数时,有可能在VM泄漏额外的持久化实例看到:分配统计数据的CG图片部分:
我正在使用iOS7。