内存问题与视图快照

时间:2014-08-31 18:25:05

标签: ios objective-c core-graphics cgimage uigraphicscontext

当我使用下面的代码获取视图快照时,当我导航到视图并返回上一个视图时,它会一次又一次地分配12MB的内存。

 UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
 [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
 UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
 UIGraphicsEndImageContext();

在使用工具进行分析时,我知道CGRaster Data对此负责? 如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试将代码添加到autoreleasepool

@autoreleasepool
{
   UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
   [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();
}