我创建了一个navigationcontroller其中一个视图控制器可能会被推多次..for例如,如果我们说,我们已经创建了一个视图控制器与内存位置<x1234>
和我在指数5索引一次加一次7 ...记忆呢?它会在一段时间后崩溃还是没有问题,因为我总是使用同一个对象?uinavigation控制器堆叠存储管理
1
A
回答
0
您水湿添加一个视图控制器几次到一个堆栈。但是您可以创建多个实例(它们将具有不同的内存位置)并将它们推入导航堆栈。当然,如果你将创建> 1000个实例,那么你的应用程序将崩溃。实际上,堆栈通常包含1-10个视图控制器,并且所有工作都正常。
1
你不能推完全相同的对象到导航控制器堆栈more than once:
重要在iOS版2.2和更高版本,如果在的viewController 参数的对象已经是导航堆栈上,这种方法抛出一个 异常。在iOS的早期版本中,该方法根本不做任何事情。
但是你可以把不同的场合的同一视图控制器。
的iOS将发送内存警告(在这里你可以清除任何临时存储,您可以重新创建),并卸载不可见的任何意见。这意味着新视图控制器的开销相对较小,但不为零。有是超过这个限制,你会得到问题,但在实践中,只要你正确地遵守内存管理规则,它是非常高的。当然高于制作可用UI所施加的限制。
相关问题
- 1. 堆叠视图控制器
- 2. 监控UINavigation堆栈
- 3. UINavigation控制器和委托
- 4. iPhone UINavigation控制器xcode 4
- 5. iPhone - 重置UINavigation控制器
- 6. 在uinavigation控制器层次
- 7. UINavigation控制器问题
- 8. MVC3控制器堆叠授权
- 9. iPhone:当当压入UINavigation控制器堆栈
- 10. iPad视图控制器内存管理
- 11. 存储器管理保留
- 12. 静态存储器管理
- 13. 阵列,存储器管理
- 14. 管理构建控制器
- 15. 从UINavigation Controller到Segue的另一个UINavigation控制器
- 16. UInavigation控制器不工作切换视图控制器到tableviewcontroller
- 17. 将MvvmCross选项卡控制器包装到UINavigation控制器中?
- 18. 堆碎片和Windows内存管理器
- 19. Django堆叠内联管理问题
- 20. Iphone的UIViewController以UINavigation控制器编程
- 21. UINavigation控制器阵列错误
- 22. 关闭带有UINavigation的ModalView控制器
- 23. 返回到父视图-UINavigation控制器
- 24. 调整uinavigation控制器中的内容
- 25. UInavigation控制器,目前modalviewcontroller这的UITableViewController
- 26. 不同方向的UINavigation控制器
- 27. AngularJS控制器管理平均堆栈开发
- 28. 为控制器存储
- 29. 通过管理控制台加密和存储新密码
- 30. 头管理器和记录控制器
我想跟踪堆栈虽然...如果不是这样会发生控制器阵列? – 2012-02-16 11:36:58
视图控制器仍在堆栈中。它只是卸载与之相关的视图。 – 2012-02-16 11:59:32