当我使用下面的代码获取视图快照时,当我导航到视图并返回上一个视图时,它会一次又一次地分配12MB的内存。
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
在使用工具进行分析时,我知道CGRaster Data对此负责? 如何解决这个问题?
答案 0 :(得分:0)
您可以尝试将代码添加到autoreleasepool
。
@autoreleasepool
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}