代码之家  ›  专栏  ›  技术社区  ›  Jessedc

在拆卸uiviewcontroller时,是否总是调用viewdidUnload和Dealloc?

  •  20
  • Jessedc  · 技术社区  · 15 年前

    我想知道这两者是否都有 viewDidUnload dealloc 总是 在uiviewController下拉进程中连续调用。有没有可能 释放内存 可以在我的视图控制器上调用 可视负载 先打过电话?

    在这两种情况下,如果我安全地释放属性并在这两个方法中保留引用,那么调用这两个方法就不会有问题了——但是我想知道是否有人确切地知道或者能够对分解过程有所了解。

    2012更新: 很容易注意到,好像iOS 6 可视负载 已弃用,应替换为手动视图拆卸 如果需要 在里面 didReceiveMemoryWarning .

    一篇关于新的uiview/uiviewcontroller和新行为及其对 joe conway blog

    2 回复  |  直到 12 年前
        1
  •  35
  •   Jessedc    12 年前

    viewDidUnload 不会 每次都像这样被召唤 dealloc 方法。 可视负载 仅当应用程序收到内存不足警告时才调用!

    想想看,如果你在释放你的物体 可视负载 释放内存 方法。如果每次都被调用,那么您将释放已经释放的对象,这将导致应用程序崩溃,不是吗?. 可视负载 是苹果公司在收到低内存警告时提供的清理物品的地方,因为你知道在iPhone中我们有内存限制。

        2
  •  0
  •   Viraj Mantri    13 年前

    值得考虑的是,只有在出现内存警告时才会调用viewdidiunload方法。良好的做法是在这种方法中释放必要的对象,并使对象为零。

    推荐文章