Ответ 1
Существует множество способов улучшить производительность ViewPager
, интегрированного с ListView
.
Сначала измените PagerAdapter
с FragmentPagerAdapter
на FragmentStatePagerAdapter
. Разница в том, что вы загружаете 10 страниц в пейджер. И если вы пройдете через все, менеджер будет помещать только страницы в onStop()
, поэтому он зарезервирует место. Однако использование FragmentStatePagerAdapter
приведет к уничтожению этих страниц, но сохранит их экземпляр с помощью метода onSaveInstanceState
. Поэтому, когда вы вернетесь, загрузка не займет много времени, и вы сохраните память.
Обычно FragmentPagerAdapter
используется с 3 страницами или меньше.
Второй способ повысить производительность (но он разряжает батарею быстрее) добавляет эту строку к вашему AndroidManifest.xml
под вашим тегом приложения:
android:hardwareAccelerated="true"
Третий способ - обнаружение жестов салфетки. Вы можете сделать это, выполнив onPageChangeListener
, а затем в реализованном методе onPageScrollStateChanged
вы проверите, есть ли страница Idle
, затем добавьте ListView
. В противном случае остановите использование ListView
и перейдите к следующей странице. Вот более качественное объяснение этого момента.
Надеемся, что некоторые из этих пунктов помогут вам достичь лучшей производительности.