для некоторых последующих Вы могли бы взглянуть.

let memoryCapacity = 200 * 1024 * 1024
let diskCapacity = 1 * 1024 * 1024
let cache = URLCache(memoryCapacity: memoryCapacity, diskCapacity: diskCapacity, diskPath: "myDataPath")
URLCache.shared = cache

rio1

Я устанавливаю память urlcache на 200 МБ, а пространство на диске - 1 МБ. Затем я загружаю изображение. Выключите интернет и принудительно выйдите из приложения, снова запустите приложение, коснувшись его, и инициируйте вызов (для загрузки изображения), но он сразу же падает, потому чтоdata являетсяnil

Нет необходимости говорить, что если я выключу интернет, он все равно будет читать из кеша, как и ожидалось, и никакого сбоя не произойдет.

Scenario2

Если я установлю diskCapacity на 200 МБ (let diskCapacity = 200 * 1024 * 1024) затем, несмотря на то, что кэш очищен из памяти, изображение сохраняется на диске; это всегда покажет!

Основываясь на этом наблюдении, у меня есть следующие вопросы:

Правильно ли говорить, что каждый раз, когда вы принудительно завершаете работу или происходит сбой приложения из-за предупреждения / проблемы с памятью, ваш кэш будет очищен, хотя он и оставит ваш диск нетронутым?Любая другая причина, где кэш может быть очищен от памяти?Когда могут быть удалены вещи, хранящиеся на диске?

Ответы на вопрос(1)

Ваш ответ на вопрос