我的情况如下:我有一个 HomeFragment
,它包含一个 ViewPager
,它有 3 个 Fragment(其中一个也有一个子 Fragment)。当我现在离开 HomeFragment
并尝试返回时,转换需要 1-2 秒并且非常缓慢,可能是因为 Viewpager
中的所有 3 个 fragment 都已恢复.使用 Android Navigation Component
有更简洁的方法吗?
最佳答案
考虑使用 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter
来自文档:
FragmentPagerAdapter - 在固定的、少量的同级屏幕之间导航时使用它。
FragmentStatePagerAdapter - 在对未知数量的页面进行分页时使用它。 FragmentStatePagerAdapter 通过在用户离开时销毁 fragment 来优化内存使用。
还可以尝试使用 ConstraintLayout 来保持 View 层次结构平坦。 在这段视频中,演讲者解释了为什么这很重要: https://youtu.be/rzmB3UxxhaA?t=2188
关于android - 具有 viewpager 性能问题的导航组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56223276/