【发布时间】:2012-09-26 09:43:40
【问题描述】:
由于我们可以调用presentViewController和dismissViewControllerAnimated(即dismissViewController,首先指定动画),它看起来像一个堆栈结构,我们可以呈现3次,关闭3次,就像一个链“呈现”视图控制器作为头部,一个“呈现”视图控制器,它实际上是另一个“呈现”视图控制器本身。
如果是这种情况,它是否真的会在 N 次之后溢出——如果我们继续在新视图控制器中调用 presentViewController 但从不关闭。文档似乎没有警告存在这种可能性。
【问题讨论】:
-
我觉得它就像一个链表,所以没有固定的限制。你可能首先会耗尽内存。
-
对了,为什么栈溢出这么快?如果每个线程都可以访问4GB,理论上不是可以轻松拥有数千级或更多的堆栈吗?
-
在 iOS 上,没有线程会有 4GB 堆栈......也许是 iPhone 15。
-
哦,我的意思是一般来说,就像在 iMac 上...
-
对了,不是视图控制器和视图重物吗?我有一个应用程序不断呈现新的视图控制器,但在第 10 次之后,仪器中显示的总分配字节只有 7.56 MB...我再做 6 次,它是 11MB...所以也许不是继续展示是个好主意,因为它可能会在一定程度上耗尽内存……我们说的是旧 iOS 设备上的 25MB 和新设备上的 50MB?
标签: ios uiviewcontroller uikit