我想知道如果我们再次推送相同的 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/