【发布时间】:2014-09-30 14:26:32
【问题描述】:
我有一个函数可以截取界面的屏幕截图并将其保存到实例属性(称为 self.interfaceScreenshot)。
-(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;
}
但我在 Instruments 分析器中看到,每次我调用此函数时,都会在 VM 中泄漏一个额外的持久实例:分配统计信息的 CG Image 部分:
我正在使用 iOS7。
【问题讨论】:
标签: objective-c ipad memory-leaks