didBeceiveMemoryWarning使用Tab栏

时间:2013-03-06 22:38:39

标签: ios cocoa-touch memory-management didreceivememorywarning viewdidunload

我有UITabBar持有3 UIViewControllers。 一个是地图,另一个是表,第三个是我自己的自定义控制器。 我最近注意到我的应用程序在低内存操作方面存在一些问题,这是因为我不清楚didReceiveMemoryWarning发生时该做什么。

通常情况下,当内存充足时,所有功能都很棒。我会在applicationDidFinishLaunchingWithOptions上分配所有控制器,并且所有控制器都能正常工作。

但是当内存有点低时会发生什么(由于某些原因)只有我的桌子行为不端。 首先,我可以看到应用程序收到内存警告。然后只有我的表获得viewDidUnload。 起初我不确定为什么我的表变为 *completely empty* ,但后来我意识到我的代表团方法停止工作,使我的reloadData基本没有意义。

所以,我现在可以看到didReceiveMemoryWarning正在级联所有的viewControllers。但是viewDidUnload只在我的表上调用。

我想知道发生了什么事?

  • 如何从viewDidUnload恢复?如果我的观点是零,谁负责将其带回来? 为什么只有我的表才能获得viewDidUnload?我正在阅读this linkthat one以及一些苹果文档,但没有找到解释为什么我的观点无法恢复的原因。

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

0 个答案:

没有答案