【问题标题】:Property `_statusBarTintColorLockingControllers` at `UIApplication` keeping ViewController in memory`UIApplication` 中的属性 `_statusBarTintColorLockingControllers` 将 ViewController 保存在内存中
【发布时间】:2016-09-19 17:51:17
【问题描述】:

使用 Xcode 8 新的内存调试器,我发现内存中有一个不应该存在的 ViewController,指向它的强引用来自 UIApplication 中这个神秘的_statusBarTintColorLockingControllers 数组。有人知道它来自哪里吗?更重要的是,如何让我的 VC 摆脱它?

【问题讨论】:

  • 你解决了吗?在使用 iOS 10 SDK 构建的应用程序中看到完全相同的模式。
  • 您是否尝试将ExamsWebCollection 上的networkClient 设置为nil

标签: ios objective-c swift xcode xcode8


【解决方案1】:

_statusBarTintColorLockingControllers 似乎不是这里的真正问题。在我解决了在委托属性上忘记了weak 的保留周期之前,我拥有相同的内存图。

【讨论】:

  • 这里也一样。我的隐藏在另外两个代表声明中,所以我花了一段时间才弄明白。
  • 同意! XCode 在这里有点混乱,指向 _statusBarTintColorLockingControllers。实际上还有一些其他微妙的内存问题需要解决。一旦解决了这个问题,循环就结束了。
【解决方案2】:

在关闭控制器之前忘记将某些属性设置为 nil 时,我遇到了同样的问题

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,看起来这来自于覆盖 preferredStatusBarStyle 变量。我删除了它,不再保留参考。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多