Можно ли настроить ViewPager для загрузки фрагментов за пределами экрана только после визуализации фрагмента экрана? - PullRequest
0 голосов
/ 09 октября 2018

В настоящее время у меня много логики, необходимой для отображения моих отдельных фрагментов.Для визуализации каждого отдельного фрагмента может потребоваться 300 мс.ViewPager в настоящее время загружает фрагмент, который виден на экране, и два соседних фрагмента, прежде чем что-либо отображать в интерфейсе.Я хотел бы, чтобы он сначала визуализировал фрагмент, который виден пользователю, и работал с другими фрагментами только после того, как пользователь получил свой фрагмент.Есть ли способ получить желаемое поведение?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Я не верю, что вы увидите здесь значительное повышение производительности, если вы не будете делать какие-то тяжелые вещи в других фрагментах.Но вы всегда можете отрегулировать допустимый вне экрана после того, как закончите загрузку того, что загружает ваш первый фрагмент.

mViewPager.setOffscreenPageLimit(0)

Затем, после того, как вы закончите загрузку, настройте количество, которое вы хотите оставить в памяти для лучшей прокрутки пользователем..

mViewPager.setOffscreenPageLimit(2)

Это должно выполнить запрашиваемое вами поведение.

0 голосов
/ 09 октября 2018

Попробуйте это в вашем FragmentStatePagerAdapter классе

override fun getItemPosition(`object`: Any): Int {    
        PagerAdapter.POSITION_NONE    
}
...