Я отослал это POST для решения.
VeiwPager2
построен на RecyclerView
компоненте и FragmentStateAdapter
заменяет FragmentStatePagerAdapter
.
Предполагая, что offscreenPageLimit = 1
, ViewPager2
будет иметь 3 fragments
и 2 fragments
, предварительно загруженные / кэшированные RecylerView Стратегии предварительной загрузки Итак, всего будет загружено 5 fragments
.
Чтобы отключить предварительную загрузку и кэширование, я выполнил:
private void disableCacheOfViewPager() {
try {
// Disable Preloading
((RecyclerView) binding.pager.getChildAt(0)).getLayoutManager().setItemPrefetchEnabled(false);
// Disable Cache
((RecyclerView) binding.pager.getChildAt(0)).setItemViewCacheSize(0);
} catch (NullPointerException e) {
Log.i(TAG, "disableCacheOfViewPager: " + e.getMessage());
}
}
Прокрутка журналов до
//1st
2020-03-02 18:05:15.255 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 0
2020-03-02 18:05:15.256 12541-12541/com.example.rajat.demo I/PostFragment: onResume: 0
2020-03-02 18:05:15.375 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 1
//2nd
2020-03-02 18:09:16.746 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 2
2020-03-02 18:09:16.900 12541-12541/com.example.rajat.demo I/PostFragment: onPause: 0
2020-03-02 18:09:16.904 12541-12541/com.example.rajat.demo I/PostFragment: onResume: 1
//3rd
2020-03-02 18:09:49.759 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 3
2020-03-02 18:09:49.940 12541-12541/com.example.rajat.demo I/PostFragment: onPause: 1
2020-03-02 18:09:49.945 12541-12541/com.example.rajat.demo I/PostFragment: onResume: 2
//4th
2020-03-02 18:10:06.636 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 4
2020-03-02 18:10:06.826 12541-12541/com.example.rajat.demo I/PostFragment: onPause: 2
2020-03-02 18:10:06.830 12541-12541/com.example.rajat.demo I/PostFragment: onResume: 3
//5th
2020-03-02 18:10:17.737 12541-12541/com.example.rajat.demo I/PostFragment: onStart: 5
2020-03-02 18:10:18.070 12541-12541/com.example.rajat.demo I/PostFragment: onStop: 0
2020-03-02 18:10:18.071 12541-12541/com.example.rajat.demo I/PostFragment: onDestroyView: 0
2020-03-02 18:10:18.139 12541-12541/com.example.rajat.demo I/PostFragment: onDestroy: 0
2020-03-02 18:10:18.139 12541-12541/com.example.rajat.demo I/PostFragment: onDetach: 0
2020-03-02 18:10:18.144 12541-12541/com.example.rajat.demo I/PostFragment: onPause: 3
2020-03-02 18:10:18.148 12541-12541/com.example.rajat.demo I/PostFragment: onResume: 4
Прокрутка журналов после
//1st
2020-03-02 18:11:20.439 14463-14463/com.example.rajat.demo I/PostFragment: onStart: 0
2020-03-02 18:11:20.441 14463-14463/com.example.rajat.demo I/PostFragment: onResume: 0
2020-03-02 18:11:20.642 14463-14463/com.example.rajat.demo I/PostFragment: onStart: 1
//2nd
2020-03-02 18:11:43.833 14463-14463/com.example.rajat.demo I/PostFragment: onStart: 2
2020-03-02 18:11:43.948 14463-14463/com.example.rajat.demo I/PostFragment: onPause: 0
2020-03-02 18:11:43.956 14463-14463/com.example.rajat.demo I/PostFragment: onResume: 1
//3rd
2020-03-02 18:11:52.523 14463-14463/com.example.rajat.demo I/PostFragment: onStart: 3
2020-03-02 18:11:52.686 14463-14463/com.example.rajat.demo I/PostFragment: onStop: 0
2020-03-02 18:11:52.686 14463-14463/com.example.rajat.demo I/PostFragment: onDestroyView: 0
2020-03-02 18:11:52.753 14463-14463/com.example.rajat.demo I/PostFragment: onDestroy: 0
2020-03-02 18:11:52.753 14463-14463/com.example.rajat.demo I/PostFragment: onDetach: 0
2020-03-02 18:11:52.758 14463-14463/com.example.rajat.demo I/PostFragment: onPause: 1
2020-03-02 18:11:52.761 14463-14463/com.example.rajat.demo I/PostFragment: onResume: 2