多个打开UIViewControllers在iOS中存在内存问题。迅速

时间:2017-07-27 03:42:16

标签: ios swift

我有以下情况,有一个事件类型(来自用户的数据),当前用户可以更详细地打开此事件。其他用户可以参与其中,当前用户可以转到每个用户的个人资料。用户配置文件包含事件(它创建的),当前用户也可以转到它们。问题是如果你多次这样做(比如15次转换)那么应用程序已经消耗了214兆字节(iPhone 7),如果是这样,那么我认为应用程序可能会掉线。应用程序中没有内存泄漏,因为我检查了工具,如果单击选项卡(根控制器是UITabBarController的继承人),内存将进入正常状态(几乎就像应用程序启动时一样) )。我对如何最好地实施这个系统感兴趣(例如,在Twitter上完成,可以从一个用户的新闻线切换到另一个用户的新闻线等等) 。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我尽可能减少了每个新ViewController的内存消耗。不要限制用户在一个接一个的屏幕打开的数量 - 所以甚至没有Apple(例如Apple Music)。 如果用户在屏幕上进行500次而不返回,则应用程序将耗尽内存并且它将会下降,这是正常的 - 如果用户想要中断,那么它将成功。 但是,如果在不可见的ViewControllers中释放未使用的资源,则可以最大限度地减少因内存不足而丢失的可能性:

  • 覆盖didReceiveMemoryWarning(轻松重新创建资源,例如,CoreData / Realm对象,图片等)。
  • 覆盖viewWillAppear(用于创建资源)和viewDidDisappear(以释放它们)

Resource