【问题标题】:Releasing memory after modal view dismiss模态视图关闭后释放内存
【发布时间】:2011-09-18 11:36:24
【问题描述】:

我正在使用 Instruments 分析 iOS 应用程序,我发现当我在应用程序的 UI 中移动时内存会增加,但内存不会减少。我仔细检查了,没有内存泄漏。

当打开模态视图控制器时问题似乎变得更糟了,我猜它的内存在关闭它们后没有被释放。

所以我的问题是,这是 iOS 平台上的正常行为吗?关于如何在视图关闭后以编程方式释放视图的所有分配内存并且不再显示的任何线索?

【问题讨论】:

    标签: iphone cocoa-touch memory-management modalviewcontroller


    【解决方案1】:

    如果你有UIView 作为iVar(类成员变量)然后在dealloc 函数中释放它。 如果您的视图对象是本地的,则在将其添加到超级视图后将其释放。

    MyView* myLocalView =   [[MyView alloc] initWithFrame:CGRectMake(x,y,width,height)];
    [self.view addSubview:myLocalView];
    [myLocalView release];
    myLocalView = nil;
    

    【讨论】:

    • 问题是在模态视图控制器上,dealloc 函数在关闭后永远不会被调用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2012-03-15
    • 2013-01-02
    • 2013-02-11
    相关资源
    最近更新 更多