Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 17 дек 2017, 14:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Пример использования Android DiffUtil
СообщениеДобавлено: 02 окт 2017, 23:38 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1359
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.

В нашем Telegram чате иногда проскакивает следующий вопрос: Как правильно обновлять данные в списке?


Спрашивающий обычно подразумевает два варианта ответа:
1) Передавать новые данные в адаптер и вызывать метод notifyDataSetChanged, чтобы рефрешнуть RecyclerView
2) Создавать новый адаптер, давать ему новые данные и передавать этот адаптер в RecyclerView.setAdapter()


Оба этих варианта не являются правильными, хотя технически они вполне рабочие.




Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 29 ноя 2017, 17:27, всего редактировалось 20 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Пример использования Android DiffUtil
СообщениеДобавлено: 09 ноя 2017, 11:06 

Зарегистрирован: 20 окт 2016, 12:01
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Если мы говорим о "тяжелых" списках, формирование и обновление которых занимает время, есть гениальный ответ на вопрос как обновить список - НЕ обновлять список. К примеру можно взглянуть на то как Гугл обновляет список приложений в своем лаунчере (AOSP -> Launcher3). Основной список формируется один раз, а вместо того чтобы при изменениях перелопачивать весь список, параллельно заполняются изначально пустые списки добавленных приложений, удаленных приложений, скрытых (выключенных) приложений, и т.п. И при вызове app drawer просто формируется вывод из нескольких списков. На это теряется несколько лишних милисекунд, но зато нет такой ситуации, когда после любого изменения несколько секунд нельзя вызвать список, потому что он переформировывается.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB