Я занимаюсь разработкой приложения для чтения, где пользователь может перемещаться между страницами, используя ViewPager
, содержимое по сути является текстовым.Элементы пользовательского интерфейса (большое количество TextViews
для каждой главы) создаются динамически, а данные извлекаются асинхронно в отдельном потоке.
В текущем выпуске пейджер представления в порядке, очень плавный, мой вопрос:
Можно ли улучшить вид на пейджер с помощью RecyclerView
?(в макете RecyclerView
будет один TextView
, а затем он будет использоваться повторно, когда пользователь прокручивает страницу вниз)
Поэтому я хочу сказать, что каждая страница (глава) ViewPager
будет иметь одинАдаптер RecyclerView
для управления повторным использованием элементов и рендеринга TextViews
на экране вместо динамического создания всей страницы (главы) и размещения элементов пользовательского интерфейса для всей главы.
Хорошо ли это работает с ViewPager
, или это нехорошо?Будет ли это иметь значительные улучшения в производительности?Как вы справляетесь с производительностью, когда используете ViewPager
, асинхронную работу или RecyclerView
, или, может быть, и то и другое?
Имейте в виду, что я пытался реализовать RecyclerView
для ViewPager
перед попыткой использования асинхронногои у меня не было никакой разницы в производительности (она стала еще медленнее), я не знаю, правильно ли она реализована, но я думаю, что RecyclerView
неэффективно при работе с ViewPager
(настройка адаптеров длякаждая страница ViewPager
и принимая во внимание, что страницы на ViewPagers
постоянно уничтожаются и воссоздаются, когда пользователь выполняет прокрутку между страницами, и когда все адаптеры нужно настраивать заново и снова создавать RecyclerView
, я считаю, чтопроцесс становится таким же тяжелым, как создание, а затем динамическое сразу, по крайней мере, это то, что я мог сказать).
Так что вы думаете об этом, это хороший подход, использующий RecyclerView
для ViewPager
?У вас был успех, используя его в каком-то проекте?или он не подходит для ViewPagers
.
Я считаю, что RecyclerView
эффективен для экрана с фиксированным макетом, с одним адаптером и всем.