在Swift中正确地解雇(或者#34;破坏")视图

时间:2015-03-11 15:07:50

标签: ios swift

我担心微小的滞后和内存问题,以及它们如何扩展。

我的应用程序是使用Swift编程的,我一直在以编程方式在应用程序中执行所有操作,包括使用presentViewControllerdismissViewControllerAnimated进行页面导航。

注意:应用程序的页面层次结构可以是几页深,每页包含大量图像。

我开始体验微小的,偶尔的,滞后的,这些可能会出现在旧手机上;我现在只能在iPhone 6上测试。我还注意到在浏览页面时内存的小幅增加。当然,应用程序上的内存级别(如在XCode中观察到的)与在新鲜状态下打开应用程序不同,相比之后在浏览数十页后回到第一页,我期待内存级别比较可能会到来至少关闭。

现在,我的问题是:当这样的页面视图被解除时,是否有一种正确的方法来“破坏”我的页面视图(包括UIKit元素,图像等)?

1 个答案:

答案 0 :(得分:1)

我认为通过“page”你的意思是一个viewController:没有办法用ARC(自动引用计数)直接销毁对象,因为当它们的强引用计数器为零时它们会被自动释放。由于您遇到异常的内存增加,可能是您的代码中有一些强大的引用周期。确保在必要时将属性声明为weak。您应该查看ARC Guide以获取详细说明。我希望这会有所帮助。