gpt4 book ai didi

ios - iOS 中多个打开的 UIViewController 存在内存问题。 swift

转载 作者:行者123 更新时间:2023-11-30 12:16:46 25 4
gpt4 key购买 nike

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

最佳答案

我尽可能减少了每个新ViewController的内存消耗。不要限制用户打开一个又一个屏幕的数量 - 甚至苹果也不限制(例如 - Apple Music)。如果用户在屏幕上移动 500 次而不返回,应用程序将耗尽内存并崩溃,这是正常的 - 如果用户想崩溃,那么它就会成功。但是,如果您释放不可见 ViewController 中未使用的资源,则可以最大程度地减少因内存不足而导致失败的可能性:

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

Resource

关于ios - iOS 中多个打开的 UIViewController 存在内存问题。 swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45340984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com