gpt4 book ai didi

ios - 我如何管理可能无休止地将 View Controller 推送到导航 Controller 堆栈? iOS

转载 作者:可可西里 更新时间:2023-11-01 05:21:48 24 4
gpt4 key购买 nike

我有一个由 UINavigationController 组成的应用程序,它从 3 个不同的选项卡推送 ViewControllers。

我预见到的麻烦是当前结构允许用户无休止地将 VC 添加到堆栈中。

我有一个名为 pharmaceuticals 的标签,另一个名为 pathogens。如果您深入研究药物,您会得到一份它能有效对抗的病原体列表,用户可以选择一种病原体以查看有关它的更多信息。这会导致应用程序推送新的病原体 VC。

现在用户可以向下钻取病原体易感的药物列表并选择它,这会在药物选项卡中产生一个新的 VC。

等等等等......

每次内存占用都会增加 1.5Mb。

我怎样才能最好地管理它?

最佳答案

您应该专注于通过释放可以轻松重新创建的资源来最大限度地减少内存占用,而不是试图阻止用户将 100 个 View Controller 插入您的堆栈。苹果也不这样做。

打开“iTunes Store”应用并搜索“Hugh Laurie”,选择专辑“Let Them Talk”,然后选择“Hugh Laurie >”,然后选择“Let Them Talk”,然后选择“Hugh Laurie >”等等。你可以继续前进,继续前进。当用户长时间执行此操作时,应用程序可能会耗尽内存并崩溃。

如果您尝试将 20 吨砖 block 装载到您的丰田皮卡上,它可能会像空的 Capri Sun 包装一样被压碎。这是故意的破坏性行为,恕我直言,如果用户强行尝试使应用过载,应用可以终止。

enter image description here

但是,您可以通过释放屏幕外 View Controller 中的内存使这一点几乎无法到达,因此这种情况不太可能发生。实现 didReceiveMemoryWarning(示例:How to implement didReceiveMemoryWarning?)以释放您可以轻松地从磁盘或网络重新创建的内容(图像、核心数据对象等)。那样的话,你可以减少你的内存占用,你的用户只有在他们有几个小时的时间并且没有比推送 View Controller 更好的事情时才能让你的应用程序崩溃。这会很伤心。

关于ios - 我如何管理可能无休止地将 View Controller 推送到导航 Controller 堆栈? iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20666589/

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