首页 > 解决方案 > 存在 viewpager 性能问题的导航组件

问题描述

我的情况如下:我有一个HomeFragment包含ViewPager3 个片段的其中一个(其中一个也有一个子片段)。当我现在离开HomeFragment并尝试返回时,转换需要 1-2 秒并且非常滞后,可能是因为其中的所有 3 个片段都已Viewpager恢复。有没有更简洁的方法来使用 Android 做到这一点Navigation Component

标签: androidandroid-fragmentsandroid-architecture-navigation

解决方案


考虑使用 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter

从文档中:

FragmentPagerAdapter - 在固定的少量同级屏幕之间导航时使用它。

FragmentStatePagerAdapter - 当在未知数量的页面上分页时使用它。FragmentStatePagerAdapter 通过在用户离开时销毁片段来优化内存使用。

还可以尝试使用 ConstraintLayout 来保持视图层次结构平坦。在这段视频中,演讲者解释了为什么这很重要: https ://youtu.be/rzmB3UxxhaA?t=2188


推荐阅读