Как стать автором
Обновить

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

Спасибо за статью! Этакий базовый «этикет» при работе с сетью.
И еще подтвердили мой самостоятельный опыт.
спасибо за статью! расскажите плз, по какому условию у вас устаревает кеш?
Все зависит от требований заказчика. Вот несколько вариантов:
  • Проверять папку кэш на объем каждый раз при заходе приложения, если больше определенного объема(200мб вполне хватит) то удалять все. Т.к. картинки весят не так много, эта операция будет проходить редко.
  • Можно периодически удалять файлы старше какой-то даты.
  • Можно класть в папку temp(iOS) и файлы будут сами удаляться после завершения работы приложения
а если требование, чтобы картинки обновлялись после обновления это картинки на сервере, а до этого брались из кеша, как вы посоветуете такое реализовать?
Необходимо, чтобы на сервере, при обновлении картинки, изменялось имя файла(или вместе с url на картинку приходила бы дата добавления этого файла). Тогда все просто, старый файл потом удалиться по алгоритму, описанному выше.
спасибо!
При запросе отправлять заголовок ETag/If-None-Match или использовать MKNetworkKit который сделает это за вас.
В iOS нету готового LRU-кэша?
Толком об архитектуре ни слова. Где всякие там лайеры (сервис лайер, дата аксес лайер). Как построить связь между лайерами, какие паттерны или приемы где и как лучше использовать и тп.
То, о чём вы говорите, не есть архитектура, а есть шаблоны программирования, которых миллион в любой книжке. Не нужно разбивать типичное iOS приложение на лэеры, это просто нецелесообразно.
>Также есть фоновые запросы к серверу, которые по таймеру запрашивают данные все время работы приложения(это могут быть запросы на кол-во новых сообщений, инвайты в друзья, изменение баланса валюты внутри приложения и тд).

Такой подход никуда не годится, для этих целей необходимо использовать Push Notifications (GCM в android). Это позволит снизить трафик до минимума, а интерактивность повысить до максимума.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории