Использование Pattern Singleton на Android - PullRequest
0 голосов
/ 31 августа 2011

Я разрабатываю приложение, которое получает некоторые данные с сервера. У меня есть два варианта:

  • Получить весь набор данных с сервера, а затем работать с ним, используя шаблон 'singleton', чтобы уменьшить количество запросов

  • Для каждого запроса получите соответствующий набор данных с сервера

Какой лучший выбор?

Ответы [ 3 ]

1 голос
/ 31 августа 2011

Я согласен с ответом C0deAttack. Ваша цель должна заключаться в том, чтобы минимизировать сетевой трафик в рамках ограничений, при которых ваше приложение является «хорошим гражданином» на телефоне. (Это означает, что ваше приложение не оказывает негативного влияния на пользователя или другие приложения, используя слишком много ресурсов & mdash; включая память и файловое пространство.)

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

P.S. Я не вижу, чтобы это было (напрямую) связано с одноэлементным паттерном.

1 голос
/ 31 августа 2011

На мой взгляд, это зависит.

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

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

0 голосов
/ 31 августа 2011

Как насчет хранения ваших данных в базе данных sqlite и выполнения ваших запросов с помощью sql?Поскольку вы получаете сортировку и заказ бесплатно, это может помочь вам написать меньше кода.Также у вас есть мгновенная офлайн-функция, если у вашего пользователя нет подключения к интернету.:)

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