iPhone App Dev - извлечение данных XML - когда и как часто - PullRequest
2 голосов
/ 03 марта 2011

У меня есть небольшое приложение, которое позволяет пользователям просматривать информацию о пиве и пиве, которые они пробовали в местном пивном клубе Bars.

У меня 4 просмотра. Пивное меню, Вся статистика, Моя статистика и настройки.

Первоначально я думал извлечь все данные через веб-сервис и вернуть xml при начальной загрузке приложения и использовать его повсюду.

OR ...

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

a) извлекать все данные, хранить в глобальном масштабе, создавать представления по мере необходимости. б) извлекать только те данные, которые мне нужны, когда мне это нужно. Это означает, что если они нажмут на пиво, я сделаю запрос на информацию о пиве. Если бы они нажали на 10 разных сортов пива, то это были бы 10 разных запросов.

Что лучше? Или это даже имеет значение.

Ответы [ 2 ]

1 голос
/ 03 марта 2011

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

1 голос
/ 03 марта 2011

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

С такими проблемами я думаю, что иногда нет правильного ответа, но вот несколько советов:

Используйте json, а не xml (если можете)

это менее многословно и, в зависимости от данных, может иметь значение для скорости.

Не блокировать поток пользовательского интерфейса

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

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

Будьте умны в своих запросах

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

Попробуйте и по-настоящему задумайтесь о том, как пользователь будет использовать ваше приложение, и посмотрите, сможете ли вы сделать какую-то хитрую предварительную выборку, основываясь на том, что вам ДУМАЕТ пользователю может потребоваться больше в определенном представлении.

т.е. Какой наиболее вероятный вид будет использоваться следующим? Вы можете предварительно получить данные для этого?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...