gpt4 book ai didi

ios - UIGraphicsGetImageFromCurrentImageContext 泄漏

转载 作者:可可西里 更新时间:2023-11-01 06:17:35 26 4
gpt4 key购买 nike

我编写了以下代码片段来截取屏幕快照:

UIGraphicsBeginImageContext(animationView.frame.size);
[[window layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage* screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

但是,UIGraphicsGetImageFromCurrentImageContext 似乎正在泄漏。这是正确的吗?

在 Instruments 中,我无法获得确切的泄漏点。在事件监视器中,我观察到当我切换到执行上述代码片段的 UI 时,内存会增加一些 MB。在这一点之后它永远不会减少。UIGraphicsGetImageFromCurrentImageContext 是否存在内存泄漏?我该如何解决这个问题?

编辑

仪器分析事件监视器:显示执行这行代码时的内存增加情况;即使发布截图(UIImage)也不会减少

泄漏和分配,堆快照:未显示任何泄漏或此分配。

最佳答案

您刚刚为您的 animationView 创建了一个包含数据的 UIImage(可能是几 MB)。也许您应该将此功能包装在自动释放池中。

 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];     
UIImage* screenshot = UIGraphicsGetImageFromCurrentImageContext();
//[screenshot retain]; //If you want precise control over when it is released and you will use it later.
[pool release];

关于ios - UIGraphicsGetImageFromCurrentImageContext 泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191146/

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