Objective-c如何释放内存Uigraphicsbeginimagecontextwithoptions

时间:2017-09-01 10:52:33

标签: ios objective-c memory-leaks release

这是我使用UIGraphicsBeginImageContextWithOptions合并图片的代码

-(UIImage*)mergeHorizontal:(UIImage*)p1 p2:(UIImage*)p2{
CGSize size = CGSizeMake(p1.size.width + p2.size.width, p1.size.height);
UIGraphicsBeginImageContextWithOptions(size, NO, 1.0);

[p1 drawInRect:CGRectMake(0,0,p1.size.width, size.height)];
[p2 drawInRect:CGRectMake(p1.size.width,0,p2.size.width, size.height)];

UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return finalImage;
}


但是当我打电话给UIGraphicsEndImageContext()时,记忆不会释放。
我尝试使用@autoreleasepool但它没有释放内存,如果我使用了很多我的方法mergeHorizontal我的应用程序是内存泄漏。

https://i.stack.imgur.com/hBQhv.png 如果您有任何答案,谢谢!。

1 个答案:

答案 0 :(得分:0)

只用UIGraphicsBeginImageContextWithOptions剪切了许多图像和编辑框架。