在iOS的按需资源中,有什么方法可以停止清除/清除资产吗?

问题描述 投票:1回答:1

我有一个大项目,其中包含22000多个图像。我的IPA大小为400MB +因此,我添加了按需资源。它会工作正常,但一段时间后,我下载的资产置换由系统...

所以我的问题是:

1)有什么方法可以停止清除(清除)我的已下载资产,这是自动完成的系统吗?

2)是否有按需资源的替代解决方案?

ios swift resources assets on-demand-resources
1个回答
-1
投票

根据文档(Documentation),一旦“在本地存储中释放了标签”,操作系统便应清除与该资产包关联的资源。您是否可以仔细检查以确保您没有在某处保留对标记的引用(如果文档正确,则似乎在保留计数变为0时应立即将其删除)

根据 Raywinderlich

清除资源

您可以通过在当前endAccessingResources上调用方法NSBundleResourceRequest来摆脱不需要的资源。

 guard  let request = currentRequest else { return }:
    // purge the resources associated with the current request
    request.endAccessingResources()

呼叫endAccessingResources现在会在您自己之后清除并清除您不再需要的所有资源。您现在是一位有礼貌的iOS公民,并且会自己清理。

根据 Apple Documentation

endAccessingResources

使用完托管标签后立即调用此方法根据这个要求。如果需要,系统将调用此方法当资源请求对象被释放时。

© www.soinside.com 2019 - 2024. All rights reserved.