iPhone:使用 UIViewController 以节省内存

标签 iphone cocoa-touch memory-management uiviewcontroller

重用 UIViewController 的最佳实践是什么?在许多应用程序中(包括Apple自己的示例:例如SQLiteBooks),每次将UIViewController推送到堆栈时都会分配并初始化UIViewController。这会增加每个新 Controller 的内存使用量,因为对象保留在内存中并且不会再次使用。

如何让它变得更好?

最佳答案

This increases the use of memory with every new controller, because the objects stays in the memory and aren't used again.

只要你没有其他东西持有它,它就应该在堆栈被弹出时被释放。检查您的 dealloc 方法是否被调用。

此外,如果它被插入堆栈,那么您需要至少保留它直到它被弹出(如果您遵循标准模式,就会自动发生)。所以它再次使用。

因此,遵循标准模式应该已经使您的内存使用量尽可能小。

关于iPhone:使用 UIViewController 以节省内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031755/

相关文章:

iphone - 从 ALAssetRepresentation 设置 CGImageRef 的最大尺寸

iphone - 设置 TextField 委托(delegate)会导致键盘将 View 向上推

java - 启动 Activity 内存泄漏

android - Drawable 优于 android 中内存位图的优势

iphone - 如何将 iPhone iOS 版本 4.3.5 升级到 5.0.1?

ios - 如何在iOS(Cocos2d)中将String转换为音频(声音)文件?

ios - 按下“记住我”按钮后,登录 View 将不会出现。必须出现第二个 View

iphone - 在不丢失索引的情况下对数组进行升序排序 Objective-C

iphone - 在 iPhone 上使用 RemoteIO 和 AudioUnits 播放 MP3...可能吗?

在静态内存上调用 C free() 函数(在非动态分配的内存上)