gpt4 book ai didi

ios - renderInContext 对应用程序内存征税

转载 作者:可可西里 更新时间:2023-11-01 05:44:48 27 4
gpt4 key购买 nike

我在 2448 X 2448 像素的图像上运行此代码。 fullScaleView 也是 2448 X 2448(fullScreenView Rect:{{0, 0}, {2448, 2448}})。 App内存从49.7MB跳到240MB,方法完成后下降到172MB。它保持在 172MB。在这个 renderInContext 之后,应用程序似乎不应该仍然以如此高的内存占用量运行。我应该在哪里以及如何强制发布? (iOS 7 XCode 5 ARC)。

UIGraphicsBeginImageContextWithOptions(fullScaleView.bounds.size, fullScaleView.opaque, 1.0);
[fullScaleView.layer renderInContext: UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

最佳答案

内存跳跃是因为图像很大——如果你确定你不再需要它,你应该在自动释放 block 中使用返回的图像的任何地方:

例如

@autoreleasepool {
UIImage *theReturnedImage = yourmethodthatreturnstherenderedimage();
// do stuff with your image
}

不幸的是,在您使用完图像之前,它会占用空间,因此您只需要快速释放它即可。

关于ios - renderInContext 对应用程序内存征税,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com