gpt4 book ai didi

ios - UIPoverController 每次使用时都会创建实时字节

转载 作者:行者123 更新时间:2023-11-29 04:53:49 26 4
gpt4 key购买 nike

我正在事件处理程序上弹出 Popover Controller 。每次调用此事件处理程序时,我的应用程序的内存占用量都会增加。一旦我关闭 View Controller ,我期望内存占用量会减少,但它永远不会发生。

我使用 Instruments 中的分配工具来分析内存。

我在这里做错了什么吗?

-(IBAction)createNewAccount :(id) sender
{

GSNewAccountViewController *createNewAccountVC = [[GSNewAccountViewController alloc]initWithNibName:@"GSNewAccountViewController" bundle:nil];
UIPopoverController *popover =
[[UIPopoverController alloc] initWithContentViewController:createNewAccountVC];

popover.popoverContentSize = CGSizeMake(kScrollViewWidth, kScrollViewHeight);

[popover presentPopoverFromRect:CGRectMake(770,-420,320,480) inView:self.view permittedArrowDirections: UIPopoverArrowDirectionUp animated:YES];

popover.delegate = self;

[createNewAccountVC release];


}

- (void)popoverControllerDidDismissPopover:
(UIPopoverController *)popoverController {

[popoverController release];

}

更新:

我正在其 ViewDidUnload 方法中释放 GSNewAccountController 的所有 Outlet。但即使当我关闭 Popovercontroller 时,vieUnDIdload 方法也不会被调用

最佳答案

您应该检查在 popoverController 释放时您的 GSNewAccountViewController 是否也被释放。检查事件 GSNewAccountViewController 对象的数量,而不是监视事件字节数。要在“分配工具”中执行此操作,请转到“工具”窗口的右上角,通过在文本字段中键入 GSNewAccountViewController 来过滤分配。然后检查每次触发 IBAction 时会发生什么。当您触发 IBAction 时,生活数应变为 1,并在释放 popoverController 时返回到零。

如果事件 GSNewAccountViewController 对象的数量永远不会为零,您应该检查是否在 GSNewAccountViewController 类中创建了某种类型的保留周期,从而阻止调用 dealloc 和 viewDidUnload 方法。通过保留周期,GSNewAccountViewController 会保留一个对象,而该对象又会保留您的 GSNewAccountViewController。由于两者都互相保留,因此不会调用它们的 dealloc 方法,并且对象永远不会被销毁。

为了进行测试,尝试创建一个非常简单的 iPad 项目,在主视图上有一个按钮,并使用 IBAction 来呈现一个 popoverController,其中包含一个从带有 UITableViewController 的普通子类的 NIB 加载的 viewController。查看分配工具,它显示当显示 popoverController 时正在创建子类,并在关闭 popoverController 时销毁子类。

祝你好运

关于ios - UIPoverController 每次使用时都会创建实时字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375678/

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