0

我在理解ARC的所有信息时遇到了一些麻烦。这是我的计划处置查看控制器资源

http://i.stack.imgur.com/tfRaH.png

我写了这样的强调,VC1更多的是“主屏幕”的......它并没有真正有改变的变量的崩溃。你输入一些数值并将它们传递到实例化的音乐播放器中。问题是,当离开VC2并进入启动屏幕选择不同的值时,随着循环的继续,内存只是越来越高。

这是应该如何工作?我注意到,当我回到启动屏幕时,它的所有值已被重置,这告诉我它的绘图事物是新的。为什么每次在这两个屏幕之间切换时内存都在不断增加?

+0

你是如何在两个控制器之间? – rdelmar

+0

你是否调用'presentViewController'(或某个变体)从VC1到VC2?并调用'dismissViewController'从VC2返回到VC1? – progrmr

+0

我使用segues来获取VC1和VC2,因为我需要传递数据...还使用segue返回到VC1,我不知道还有其他移动方法。 –

回答

1

“为什么每次在这两个屏幕之间切换时内存都会不断增加?”

可能是因为你实际上并没有在两个控制器之间切换 - 当你“回到”vc1时,这些值被重置的事实告诉我,当你“回去”时,你实际上实例化了一个新的vc1实例, 。使用segues时,只能使用unwind segue返回到前一个控制器。其他类型的赛格总是实例化新的控制器 。

+0

哦,哇,我还有很多东西需要学习....非常感谢。 –

+0

@marcjacbson,我有一个解释如何在我的答案放松segues在这里,http://stackoverflow.com/questions/16158586/app-running-slow-after-loading-viewcontroller-then-unload-about-15 -20次/ 16160239#16160239 – rdelmar

+0

再次感谢 –