Начиная с Android P загрузчики Android Studio устарели (API 28)? - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в Android, я закончил некоторые курсы по разработке приложений для Android, и теперь я пытаюсь применить то, что я узнал.Я выбрал приложение новостей для него.Он будет извлекать новости из 5-10 источников и отображать их в обзоре переработчиков.

Я понял, что используемые мной материалы курса устарели.Я использовал AsynctaskLoader для решения проблем с интернет-соединением, но теперь в официальной документации Android написано «Загрузчики устарели с Android P (API 28). Рекомендуемый вариант для работы с загрузкой данных при обработке жизненных циклов Activity и Fragmentиспользовать комбинацию ViewModels и LiveData. "

Мой вопрос заключается в том, должен ли я преобразовать свой код в соответствии с ViewModels и LiveData или Asynctask справится с моей задачей (или любым другим предложением)?Как я уже упоминал, я хочу извлекать новостные данные только из нескольких источников и отображать их в приложении.Кажется, мне не нужна функция хранения данных.Но на данный момент я добавил два источника новостей, и приложение, похоже, загружает новостные данные немного позже.Связана ли эта задержка с использованием загрузчиков?Ускоряет ли использование viewmodels задачу загрузки новостей (особенно при большом количестве источников новостей)?

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Загрузчики хороши своей способностью обрабатывать жизненный цикл, но они не так эффективны, как LiveData и ViewModel.Если вы заботитесь о производительности, скорости и актуальности, используете компоненты архитектуры Android (LiveData, ViewModel), а также вам не нужно придерживаться старой системы действий, вы можете написать простой AsyncTask и обернуть его с помощью ViewModel иLiveData.Это работает как по волшебству и лучше, чем Loaders.Для получения информации о том, как обернуть AsyncTask в LiveData и ViewModel, посетите https://medium.com/androiddevelopers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4

0 голосов
/ 24 февраля 2019

Загрузчики устарели с Android P (API 28).Рекомендуемый вариант для загрузки данных при обработке жизненных циклов Activity и Fragment - использовать комбинацию ViewModels и LiveData.ViewModels переживают изменения конфигурации, такие как загрузчики, но с меньшим количеством шаблонов.LiveData предоставляет способ загрузки данных с учетом жизненного цикла, который вы можете использовать в нескольких моделях представления.Вы также можете комбинировать LiveData, используя MediatorLiveData, и любые наблюдаемые запросы, например запросы из базы данных Room, можно использовать для наблюдения за изменениями данных.ViewModels и LiveData также доступны в ситуациях, когда у вас нет доступа к LoaderManager, например в Сервисе.Использование двух в тандеме обеспечивает простой способ доступа к данным, в которых нуждается ваше приложение, без необходимости иметь дело с жизненным циклом пользовательского интерфейса.

0 голосов
/ 24 сентября 2018

Если вы уже написали это с помощью Loaders, нет причин спешить менять это.Устаревший не значит ушел.И нет, загрузчики не добавляют значительного снижения производительности - любые проблемы с производительностью были бы в другом месте в вашем приложении.

...