我有一个大项目,其中包含22000多个图像。我的IPA大小为400MB +因此,我添加了按需资源。它会工作正常,但一段时间后,我下载的资产置换由系统...
所以我的问题是:
1)有什么方法可以停止清除(清除)我的已下载资产,这是自动完成的系统吗?
2)是否有按需资源的替代解决方案?
根据文档(Documentation),一旦“在本地存储中释放了标签”,操作系统便应清除与该资产包关联的资源。您是否可以仔细检查以确保您没有在某处保留对标记的引用(如果文档正确,则似乎在保留计数变为0时应立即将其删除)
清除资源
您可以通过在当前endAccessingResources
上调用方法NSBundleResourceRequest
来摆脱不需要的资源。
guard let request = currentRequest else { return }:
// purge the resources associated with the current request
request.endAccessingResources()
呼叫endAccessingResources
现在会在您自己之后清除并清除您不再需要的所有资源。您现在是一位有礼貌的iOS公民,并且会自己清理。
endAccessingResources
使用完托管标签后立即调用此方法根据这个要求。如果需要,系统将调用此方法当资源请求对象被释放时。