В настоящее время я использую ViewPager
с адаптером FragmentStatePager
с приблизительно 25 различными фрагментами (и различными relativelayouts
). Когда я прокручиваю, я обычно замечаю значительное отставание при просмотре некоторых просмотров, за исключением случаев, когда объявляю viewpager.setoffscreenpagelimit(25)
. Есть ли способ увеличить производительность этого viewpager
, не имея всех загруженных страниц во все времена?Производительность Android Viewpager
ответ
Использование ViewPager из коробки будет загружать максимум три фрагмента/представления. Оставайтесь с этим номером. Это не то, что ViewPager работает медленно, вы делаете что-то в своем коде, что делает его медленным. Любой из ваших фрагментов выполняет любую задачу блокировки или процессора? Например, загрузка растровых изображений? У вас есть синтаксический анализ, который можно было бы сделать в AsyncTask? Возможно, вы могли бы разместить такие вещи где-то еще и сохранить их в базе данных, а затем, когда вы загрузите Frament, он останется очень чистым и эффективным, если вы будете читать из базы данных.
да, каждый фрагмент имеет другое релятивирование и другой фон, который я загружаю в onCreateView(). Другое, что у меня есть только несколько кнопок и изображений (также загружаемых на onCreateView()) – user1437481
Вы пробовали на реальном устройстве, и если да, то какой? Попытка эмулятора, как правило, очень медленная. –
Я использую пару устройств, nexus 7 и галактику nexus – user1437481
Не могли бы вы предоставить дополнительные детали для вашего вопроса? Например, что вы делаете на каждой странице?
Вы обновили до последних Android Support Library?
Изменения для библиотеки поддержки v4:
- Улучшенное поведение взаимодействия для ViewPager.
- Исправлена ошибка, из-за которой ViewPager мог выбрать неправильную страницу.
- Исправлено использование метода removeView() во время компоновки для ViewPager.
- Исправлена проблема с SearchViewCompat, где использование кнопки «Назад» для увольнения не очищает текст поиска. Это исправление применяется только к уровням API хоста 14 и выше.
Вы всегда должны помнить, что FragmentStatePagerAdapter автоматически сохраняет страницы и удаляет их, если они не используются. Таким образом, если вы промахнете очень быстро, будет много загрузки/выгрузки страниц. Вы можете увеличить количество загружаемых в память страниц.
Я не обновлялся до последней библиотеки поддержки, попробую это и оставит отзыв. У меня в основном есть некоторые относительные макеты, каждый с другим изображением в качестве фона, а некоторые изображения - как точки взаимодействия, вот и все. Я не выполняю связанных с сетью задач в потоке ui. – user1437481
- 1. Как увеличить производительность viewpager в android
- 2. Производительность вращения ViewPager
- 3. Производительность диаграмм Steema в ViewPager?
- 4. Android ViewPager внутри ViewPager
- 5. Производительность для Android ViewPager и FragmentPagerAdapter с 3 веб-фрагментами
- 6. Увеличение производительности Android ViewPager
- 7. Viewpager android
- 8. Android ViewPager
- 9. Android Viewpager внутри Viewpager, не отображающий макет
- 10. android - объединить горизонтальный viewpager с вертикальным viewpager
- 11. Производительность Android
- 12. Производительность Android-браузера Android
- 13. Android PreferenceFragment в ViewPager
- 14. Android: ViewPager нужен?
- 15. Android Viewpager item access
- 16. Android ViewPager Lag
- 17. android -Как оживить viewPager
- 18. Android ViewPager с ImageViews
- 19. Android viewpager внутри scrollview
- 20. Android ViewPager setOnTouchListener
- 21. Android ViewPager и EditText
- 22. Android: ViewPager внутри макета
- 23. Android Parcel в ViewPager
- 24. Альтернатива ViewPager в Android
- 25. Android - Пользовательская анимация ViewPager
- 26. Android ViewPager не отображается
- 27. Android ViewPager не загружается
- 28. Android NullPointerException setAdapter ViewPager
- 29. Android ViewPager Error
- 30. Android Controlling ViewPager Scroller
Вы замечаете существенное, что? Одна вещь, которую вы всегда можете попробовать, - поэкспериментировать с разными номерами в параметре 'offscreenpagelimit', что означает, что загружаемые страницы проблем будут загружены до того, как вы их получите. –
извините, я замечаю, что финансовая отставание – user1437481