如何管理潜在的无限推动视图控制器到导航控制器堆栈? iOS版

如何管理潜在的无限推动视图控制器到导航控制器堆栈? iOS版,第1张

概述我有一个由UINavigationController组成的应用程序,可以从3个不同的选项卡中推送ViewControllers. 我预见到的问题是当前的结构允许用户无休止地将VC添加到堆栈中. 我有一个名为pharmaceuticals的标签,另一个叫做病原体.如果你在药物中钻得足够远,你可以得到它有效的病原体清单,用户可以选择一种病原体来查看它的更多信息.这导致应用程序推动新的病原体VC. 现 我有一个由UINavigationController组成的应用程序,可以从3个不同的选项卡中推送VIEwControllers.

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

我有一个名为pharmaceuticals的标签,另一个叫做病原体.如果你在药物中钻得足够远,你可以得到它有效的病原体清单,用户可以选择一种病原体来查看它的更多信息.这导致应用程序推动新的病原体VC.

现在,用户可以深入查看病原体易受影响的药物清单并选择它,这会在药品标签中产生新的VC.

等等等等…

每次有额外的1.5Mb添加到内存占用.

我怎样才能最好地管理这个?

解决方法 您应该专注于通过释放可以轻松重新创建的资源来最小化内存占用,而不是试图阻止用户将100个视图控制器推入堆栈. Apple也不这样做.

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

如果你试图在你的丰田皮卡上加载20吨砖块,它可能会像空的Capri Sun包一样被粉碎.这是故意的破坏性行为和恕我直言,如果用户强行尝试超载它,应用程序可以终止.

但是,您可以使这一点几乎无法访问,因此通过在屏幕外视图控制器中释放内存,这种情况不太可能发生.实现dIDReceiveMemoryWarning(例如:How to implement didReceiveMemoryWarning?)以释放可以从磁盘或网络(图像,核心数据对象等)轻松重新创建的内容.这样,你可以降低你的内存占用率,如果他们手上有几个小时,你的用户只能让你的应用程序崩溃而没有比推动视图控制器更好的事情.哪个会很难过.

总结

以上是内存溢出为你收集整理的如何管理潜在的无限推动视图控制器到导航控制器堆栈? iOS版全部内容,希望文章能够帮你解决如何管理潜在的无限推动视图控制器到导航控制器堆栈? iOS版所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存