0

我有一个UITabBar控股3 UIViewControllers。一个是地图,另一个是表格,第三个是我自己的自定义控制器。我最近注意到我的应用程序在低内存运行时存在一些问题,这是由于我不清楚didReceiveMemoryWarning发生时该怎么做。

通常,当有足够的内存时,所有功能都很好。我会将我的所有控制器都分配到applicationDidFinishLaunchingWithOptions并且所有控制器都工作得很好。

但是当内存有点低时会发生什么(出于某种原因)只有我的表行为不端。首先,我可以看到应用收到了内存警告。然后只有我的桌子得到一个viewDidUnload. 起初我不确定为什么我的桌子变成了*completely empty*,但后来我意识到我的委托方法停止工作,这使得我的reloadData基本上毫无意义。

所以,我现在可以看到它在didReceiveMemoryWarning我所有的 viewController 中级联。但是 viewDidUnload 只在我的桌子上被调用。

我想知道发生了什么事?

  • 如何从 viewDidUnload 中恢复?如果我的观点是零,谁负责把它带回来?为什么只有我的表获得 viewDidUnload?我正在阅读这个链接那个链接,以及一些苹果文档,但没有找到解释为什么我的观点没有恢复。

在这种情况下我应该怎么做?

4

0 回答 0