我已经创建了一个应用程序有12个视图控制器和它得到了很多图形的iOS应用程序的内存使用(图像文件)面积
当我启动的应用程序,我注意到内存上涨,因为我通过移动视图控制器。一旦我已经完成了所有的控制器移动内存530MB
所以我的问题是: -
一),这是一个很大的内存来使用 二)我应该担心 c)我如何从内存中删除视图控制器,当我导航回合..例如我有一个视图控制器上博但是一旦有人点击跳过或开始,我会继续看下一个视图控制器,因此理论上它不需要再加载。
想法?
我运行在iPhone 7 Plus上,它具有3Gbm,但希望能够在iPhone SE之后的其他手机型号上运行该应用程序。然而,我注意到内存配置文件是大约50%没有iPhone本身,而是假设那是因为它不加载X3图像按加电话
@ sandeep-bhandaripp感谢您的信息...几个进一步的问题..一位新手,但你是什么意思适当的导航技术?我创建了一个单一视图应用程序,并在它们之间添加了各种VC和seque,这是错误的吗? 也读了关于ARC,我假设VC会放手,但我使用SWIFT 3,所以你如何决定VC? – user2596590
@ user2596590:如果您使用push/show segue,则View Controller会被推入导航堆栈。直到用户通过点击返回按钮或杀死应用程序来弹出ViewController时,推送到导航堆栈的视图控制器才会被释放。所以你应该使用push,如果你真的想要VC坚持,并允许用户回到屏幕上回来。如果你推入loginVC,那么loginVC也会被保留,但登录是一次性使用,你不希望用户通过点击回到这个屏幕,使用push将使得LoginVC保存在内存中 –
因此,你所有的VC不希望它坚持你使用模态segue并解雇它以摆脱它,一旦使用这将不会使VC保存在内存中。类似地,每当用户点击推送的VC上的后退按钮并从导航堆栈弹出VC时,VC的deist/dealloc被调用。确保它被调用。如果它没有被调用,那意味着你的VC被某些不允许它释放的东西所控制。因此记忆不会下降。 –