【发布时间】:2012-07-07 17:10:15
【问题描述】:
这可能是一个新手问题...
我正在尝试减少 iPhone 应用中的内存使用量。
我有一个带有一组按钮的 UIViewController。当用户点击其中任何一个时,应用程序会将他带到一个新屏幕(新 UIViewController)。
我应该按需创建它们([[MyUIViewController alloc] initWithNibName:@"MyUIViewController" bundle:nil];),还是应该在“主”控制器中将所有这些 UIViewControllers 作为@propertys 并创建它们只有第一次? (检查他们是否是nil)。
我注意到(使用Instruments),在第一种方法之后,使用的内存(实时字节)在推送时会增加,但在拉动控制器时不会减少,每次按下按钮时都会如此。
此外,这是否也适用于 UITableViews,我在 tableView:didSelectRowAtIndexPath: 方法中推送另一个 UIViewController?
提前谢谢你。
编辑:我正在使用 ARC
【问题讨论】:
-
通常你应该按需创建控制器,而不是预先创建控制器。无需浪费宝贵的内存。
标签: ios memory-management uiviewcontroller