Можно ли узнать, есть ли изображение в системном кеше iPhone?

Я пытаюсь улучшить производительность прокрутки UITableView. Я загружаю изображения с помощью imageNamed: и dispatch_async, но прокрутка очень удобна после загрузки изображений в ячейки. Я хотел бы, чтобы изображения появлялись только в том случае, если они не находятся в системном кеше, чтобы уменьшить резкий эффект, возникающий при "появлении" изображений в поле зрения.

Есть ли способ узнать, есть ли изображение в системном кеше?


person Jonah    schedule 30.07.2010    source источник


Ответы (1)


Нет задокументированного способа заглянуть внутрь UIImage, чтобы проверить такие вещи.

Я думаю, что единственный способ узнать наверняка, что изображение доступно сразу, - это принудительно загрузить UIImage. Это можно сделать в фоновом режиме, создав UIImage и получив доступ к его пикселям с помощью функций CGImage. Если вы убедитесь, что изменение масштаба не требуется (т.е. не помещайте изображение размером 3000x2000 в пространство 30x20), оно должно отображаться без сбоев.

person mvds    schedule 30.07.2010