Кэш сетевых приложений для фотосъемки (Nimbus)

#ios #caching #nimbus-ios

#iOS #кэширование #nimbus-ios

Вопрос:

В примере приложения для сетевых фотографий от Nimbus, когда я возвращаюсь к таблице (чтобы выбрать, откуда я хочу загружать фотографии, начиная с Facebook или Dribbble), предыдущие фотографии, которые я видел и которые были в кэше, удаляются из него. Есть ли способ предотвратить это?

Например:

  • Я ввожу в альбом A, я загрузил 50 фотографий в кэш.
  • Я вхожу в альбом B, я загрузил 50/60 фотографий.
  • Когда я повторно вхожу в альбом A, я хочу использовать те, которые у меня есть в кэше.

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

Самое главное: возможно ли сохранить его во внутренней памяти iPhone?

Спасибо.

Ответ №1:

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

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

Комментарии:

1. Мне не нужно, чтобы они оставались в памяти, а скорее на диске. Я не думаю, что они снова загружаются с диска, потому что, если я отключу Интернет, они не будут загружены…