Ios 仅获取属性保留在内存中
我有一个枚举,具有get-only属性Ios 仅获取属性保留在内存中,ios,swift,memory,Ios,Swift,Memory,我有一个枚举,具有get-only属性image。似乎每次我读取它时,它都会将此图像保留在内存中,并仅在内存警告后删除它(因为我使用多个枚举实例并按顺序显示它们的图像),即使在我将另一个图像设置为显示它的UIImageView之后也是如此 如何强制将其从内存中删除?好吧,避免内存过载的最佳方法是首先不要缓存UIImage,这可以通过以下方法完成: extension UIImage{ static func getUcachedImage(named name: String) -&g
image
。似乎每次我读取它时,它都会将此图像保留在内存中,并仅在内存警告后删除它(因为我使用多个枚举实例并按顺序显示它们的图像),即使在我将另一个图像设置为显示它的UIImageView
之后也是如此
如何强制将其从内存中删除?好吧,避免内存过载的最佳方法是首先不要缓存UIImage,这可以通过以下方法完成:
extension UIImage{
static func getUcachedImage(named name: String) -> UIImage?{
let path = NSBundle.mainBundle().pathForResource(name, ofType: nil)!
let image = UIImage(contentsOfFile: path)
return image
}
}
这就是我解决问题的方法。创建/加载映像时,您的代码是什么样子的?@cleverror我只是通过
enumCase.image来调用它,就是这样!虽然我保留了这些案例的数组,但据我所知,这不应该影响get-only属性的功能know@CleverError基本上,代码行如下所示:imageView.image=enumCase.image
并且它会针对不同的enum case调用多次,但是enum
中的代码是什么样子的?如果不需要缓存: