【发布时间】:2016-02-17 17:16:59
【问题描述】:
我在我的一个应用程序中使用了大量的音频、视频和图像,并且似乎有轻微的内存问题,我想知道释放内存的最佳方法是什么。
我使用了很多这样的可选变量:
var myImageView: UIImageView?
我想知道是否将这些设置为 nil 是最佳做法,一旦您知道不再需要它来释放内存,如下所示:
myImageView = nil
似乎将它设置为 nil 会删除最后一个强引用并导致它被释放,但如果可能的话,我也不想在我的代码中到处乱扔 XXXX = nil。
我还考虑为使用该变量的类创建一个 deinit 方法,并在其中执行如下操作:
deinit {
myImageView = nil
}
唯一的问题是我正在使用的实例在再次使用之前实际上并没有被销毁。但是通常当一个实例被销毁时,它的所有可选项也应该被释放,对吧?
【问题讨论】:
标签: ios swift memory memory-management optional