Главная » Разработка для Android » ОБЩАЯ ХАРАКТЕРИСТИКА ДОСТОИНСТВ в Android приложении

0

 

Теперь в обобщенном виде представим достоинства подхода с применением сетевого варианта «Модель-вид-контроллер».

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

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

Исключено возникновение многих потенциальных проблем с безопасностью, свойственных для пользовательского интерфейса. Компоненты-виды в Android изначально создавались с расчетом на динамическое обновление и отражение информации, которая в настоящий момент содержится в курсоре. Другие системы компонентов, которые могут быть знакомы, например, читателям, работавшим с J2ME Swing, оставляют решение этой задачи разработчику. В такой ситуации нельзя исключать возможность того, что списковый компонент, последовательно удаляющий элементы данных, может при этом выйти за пределы своей модели.

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

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

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

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

Приложения писать проще именно потому, что достаточно сложно использовать API неправильно. Нужно просто выполнять вызовы поставщика содержимого, а система будет обрабатывать функциональность REST.

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

Кроме описываемого нами паттерна, Google предлагает специальную документацию, предназначенную для ускорения реакции приложения и уменьшения вероятности получения уведомлений типа «Приложение не отвечает». Данная документация расположена по адресу http://developer.android.com/guide/practices/design/ responsiveness.html.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

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