我的应用在GIF
s中从互联网下载并显示UIImageView
。 GIF
根本不需要缓存/保存。但是,该应用程序占用了iPhone上的大量存储空间。数据巨大。
我希望每次用户打开应用时都能清除Documents and Data文件夹。这可能与Swift
?
答案 0 :(得分:0)
您使用的扩展程序使用以下代码:
Data(contentsOf: url)
https://developer.apple.com/documentation/foundation/nsdata/1413892-init
此方法将缓存系统缓存中的内容。
如果您想继续使用该扩展程序,则应修改该代码以改为使用此扩展程序:
init(contentsOf:options:)
https://developer.apple.com/documentation/foundation/nsdata/1407864-init
并传递“uncached”作为避免缓存的选项。
https://developer.apple.com/documentation/foundation/nsdata.readingoptions/1412417-uncached
但是我认为扩展写得不好,例如,你应该只使用这种方法来加载SHORT本地文件,对于需要流的大文件,对于你根本不应该使用它的网络请求。
重要
请勿使用此同步方法请求基于网络 网址。对于基于网络的URL,此方法可以阻止当前线程 在慢速网络上持续数十秒,导致用户不畅 经验,在iOS中,可能会导致您的应用被终止。代替, 对于非文件URL,请考虑使用 NSURLSession类的dataTask(with:completionHandler :)方法。 有关详细信息,请参阅URL会话编程指南。
Data(contentsOf: url, options: .uncached)