在iOS中全局存储和重用UIViewController是否安全?
全局存储由创建的在iOS中全局存储和重用UIViewController是否安全?,ios,objective-c,uiview,uiviewcontroller,Ios,Objective C,Uiview,Uiviewcontroller,全局存储由创建的UIViewController实例是否安全 UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"ViewID"]; 然后再利用它们?如果内存不足会发生什么?iOS会释放一些以前实例化但不活动的UIViewController吗 我之所以问这个问题,是因为一些UIViewController的内存非常紧张。此外,该应用程序的结构使各种UIViewContro
UIViewController
实例是否安全
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"ViewID"];
然后再利用它们?如果内存不足会发生什么?iOS会释放一些以前实例化但不活动的UIViewController吗
我之所以问这个问题,是因为一些UIViewController的内存非常紧张。此外,该应用程序的结构使各种UIViewController可以相互访问,如果只有一个实例就足够了,我希望通过使用各种实例来避免浪费内存
我只是好奇,是否有任何情况下iOS会删除/释放任何(不可见的)UIViewController,例如,当内存不足时。为什么要考虑这样做?在内存管理方面,视图控制器并不特别。没有人会自动释放它们,除非您使用的是
NSCache
或类似的类。如果你保留引用,你的工作就是监听内存警告并释放它们。安全吗
?这可能是一种安全的方式。但是要回答你没有问的问题。。。这是个好主意吗?一般来说,没有。这条规则可能有例外,但我不知道有例外。通常情况下,没有理由这样做,因为这会带来额外的问题。有一些特定的用例是一个有效的想法,例如,最小化控制器加载对性能的影响,但我不认为创建一个真正的全局控制器是合理的。为什么这是一个坏主意?它还会导致哪些其他问题?请再详细解释一下。