管理具有多个子视图的大滚动视图的内存的正确方法

时间:2011-04-29 02:42:05

标签: objective-c memory-management

我对目标c仍然很新。

我创建了一个ipad应用。它是一个大的水平滚动视图,里面有大约6个子视图。

目前我所做的是,我在一开始就一劳永逸地启动所有子视图。

当我使用活动监视器来分析我的应用程序时,它会显示:

真实记忆:65-75MB 虚拟内存:152.63MB

我正在考虑是否应该优化我的应用以减少内存占用。我知道在我看来有三种方法可以启动子视图

  • 一开始就全部开始 观点充满活力并留在记忆中 直到应用程序关闭这不看 有效但因为没有 解除分配和重新分配, 记忆没有机会 会泄漏。 (我现在在做什么)
  • 当你离开时,
  • 一次初始化一个视图 一个观点,不要破坏它 当重新审视一个视图时,没有 需要再次重新启动它
  • 一次初始化一个视图,当你离开视图时, 立刻摧毁它。当它是 我们必须重新考虑 试。

这样做的常见方法/最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

要了解处理内存问题的更好方法,可以参考此link。请参阅页面控制示例,该示例说明了多次重复使用同一视图的最佳方法。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.x > 0 && scrollView.contentOffset.x < view2.view.frame.origin.x) {
perform some condition
}
}