IOS推送许多没有弹出的 View Controller

标签 ios pushviewcontroller

我想知道如果我们再次推送相同的 View Controller 会发生什么。我有 4 个按钮,每个按钮都会触发一个 View 。所有 4 个按钮都在所有 4 个 View 中。所以每次我单击一个按钮时,都会加载一个 View 。所以我正在插入一个 View Controller 。这会导致某种内存管理问题还是其他问题?还有其他方法来处理这个吗?由于设计问题,我无法使用标签栏。

我想基本上实现一个带有 4 个按钮的标签栏。由于设计问题,我无法使用标签栏

最佳答案

这不会导致任何特定的内存管理问题。每次分配一个对象时,它都会占用一些内存。当您推送 View Controller 时,您只是在分配该对象的一个​​新副本。无论是 View Controller 还是数据模型还是字符串,每个对象都会占用一些内存。您可以轻松地分析每次按下 View Controller 时使用了多少额外内存,但它很可能可以忽略不计(可能远小于 1kb,具体取决于您在那里有多少)。我刚刚分析了我的一个 View Controller ,它使用了 320 个字节。所以对于简单的数学,假设每次推送占用 1kb 的内存。 iPhone 5 有 1Gb 内存。这足以容纳大约 100 万个 View Controller 。所以我不会担心。

但是,如果您想担心它,那么您应该在 View Controller 中实现 didReceiveMemoryWarning 并释放任何不需要的对象。

关于IOS推送许多没有弹出的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211341/

相关文章:

ios - 快速闪烁 UIButtons(不点击)

ios - UIBarButton 不会显示在选项卡 Controller 内的 TableView 中

ios - 在 iOS 8.2 上更改 UIBarButtonItem 的垂直位置

android - 您可以从 HTTP url 方案打开 iOS 应用程序吗?

iphone - 在已部署的应用程序上推送一个 nil View Controller

objective-c - 如何在执行 popToRootViewController 后将 View Controller 推送到导航堆栈

ios:在模型 View 上推送另一个 ViewController

ios - 查询当前用户信息

iOS 推送 ViewController 不工作

iOS 过滤 tableview 导航推送 UIView,然后 UIView 返回导致崩溃