我正在使用iPhone故事板,其主要入口点是标签栏控制器。此选项卡栏控制器可以分割到其他七个不同的视图控制器。这些视图控制器主要是表视图控制器,甚至是Web视图。
我不确定我是否正在搜索问题,实际上并不存在,但我的应用程序使用 ~80 MB Ram 后所有View Controller都打开了一次,因此我有一个印象,这是错的。多次调用View Controllers后,大小不会超过,这样我就不会认为我有内存泄漏。
我也搜索过这个问题,但我唯一可以找到的是,操作系统会缓存所有打开的视图控制器并将它们保存在内存中。有人能证实吗?如果操作系统没有足够的内存,那么视图会被杀死吗?
我的印象是,作为一个优秀的应用程序公民,我应该以某种方式在viewDidDisappear
之后释放每个View Controller的内存?或者我应该将内存管理留给操作系统?
答案 0 :(得分:0)
WebViews通常会创建消耗至少15MB的缓存。在我看来模拟器上的80MB很好,如果你打开相同的VC并且在第一次加载后基线仍然是相同的,那就没关系。你应该只关心在内存压力下系统可以轻松摆脱不必要的记忆 TabbarVC保留VC实例,因为它应该这样做。