gpt4 book ai didi

ios - 使用 MBProgressHUD 时的内存泄漏

转载 作者:行者123 更新时间:2023-12-01 17:53:31 24 4
gpt4 key购买 nike

我正在使用 MBProgressHUB作为加载指标。我通过 Instruments 注意到,使用 MBProgressHUB 时存在大量内存泄漏 ( 每次启动大约 3MB。问题是,当 View 卸载时内存不会清除 ) .

项目已启用 ARC

我就是这样发起MBProgressHUBViewDidLoad (HUD 也是保留属性(property))

HUD = [[MBProgressHUD alloc] initWithView:[(AppDelegate *)[[UIApplication sharedApplication]     delegate] window]];
[[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] addSubview:HUD];
HUD.delegate = self;

也在 ViewDidUnload我正在设置 HUD = nil;
有任何想法吗???

最佳答案

您正在将您的 hud 作为 subview 添加到窗口中。 Window 在您的应用程序运行时始终将其保存在 subview 中。

您应该在不需要时调用 [HUD removeFromSuperview] 方法或将属性 HUD.removeFromSuperViewOnHide 设置为 YES - 因此,如果您不在其他地方保留它,它会在隐藏时自行移除并释放内存。

如果您将它添加到 Controller 的 View 中 - 它将在 Controller 生命周期结束时与其 View 一起被释放。

关于ios - 使用 MBProgressHUD 时的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22658565/

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