一个ViewController占用多少内存?

时间:2016-09-28 18:08:13

标签: ios memory uiviewcontroller

我想知道单个ViewController占用多少内存,因为当我开发某些应用时,我仍然不确定创建更多内容是否更好{{1}或者,如果我应该创建更少的ViewControllers并更改代码中的内容,而不是ViewControllers

我的意思的例子:让我们说我有两种类型的数据,我希望在呈现UserInterface时看到它们,但这两种类型几乎相同。那么我应该只有一个ViewController并在代码中更改内容,或者我可以为每种类型创建ViewController吗?

我知道这取决于用户界面中有多少代码和多少内容,但让我们说它是几行代码而且只是一个非常基本的ViewController

我已经研究了视图控制器的角色 Apple没有找到答案。 https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/index.html#//apple_ref/doc/uid/TP40007457-CH2-SW1

我知道这有点奇怪,但我真的很好奇。 感谢。

2 个答案:

答案 0 :(得分:4)

未实例化的视图控制器不使用任何内存。它需要一小部分磁盘空间作为应用程序的一部分,但在创建和显示之前,它在运行时没有内存。

您目前对过早优化感到内疚。正确编写代码,以便于编写,易于维护和易于调试。在遇到需要解决的问题之前,不要担心内存使用和性能等问题。

如果您有两个不同类型的数据的两个不同屏幕,则创建两个不同的视图控制器。

一旦工作,然后通过仪器运行它并确认没有泄漏或参考周期浪费内存。

答案 1 :(得分:1)

代码中额外的视图控制器类的大小可以忽略不计,所以除非你在谈论它们的极端数量,否则我不会担心。这里的管理原则更可能是DRY。如果你有一堆非常小的对象(例如标签上的名称等),那么也许你可以创建一个所有这些对象符合的通用协议,然后你可以编写一个视图控制器为该协议而设计,而不是任何特定对象。但是如果你发现自己添加了一堆笨拙的if语句并以编程方式添加控件,只是为了避免在故事板中出现多个场景,那么你可能已经走得太远了。