android - 存在 viewpager 性能问题的导航组件
问题描述
我的情况如下:我有一个HomeFragment
包含ViewPager
3 个片段的其中一个(其中一个也有一个子片段)。当我现在离开HomeFragment
并尝试返回时,转换需要 1-2 秒并且非常滞后,可能是因为其中的所有 3 个片段都已Viewpager
恢复。有没有更简洁的方法来使用 Android 做到这一点Navigation Component
?
解决方案
考虑使用 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter
从文档中:
FragmentPagerAdapter - 在固定的少量同级屏幕之间导航时使用它。
FragmentStatePagerAdapter - 当在未知数量的页面上分页时使用它。FragmentStatePagerAdapter 通过在用户离开时销毁片段来优化内存使用。
还可以尝试使用 ConstraintLayout 来保持视图层次结构平坦。在这段视频中,演讲者解释了为什么这很重要: https ://youtu.be/rzmB3UxxhaA?t=2188
推荐阅读
- android - 测试中的 LiveData(由 Flow 支持)反映旧值
- python - 如何根据存储在 python 中的 .txt 文件中的极坐标数据绘制曲线?
- keyword - AIML v2:Pandorabots - 两个词关键字
- javascript - 如何在此 Codeigniter 应用程序中通过 jQuery Ajax 加载特定数据,而不是整个页面?
- itext7 - 如何在 itext7 上调整大小、删除或隐藏表格列
- javascript - 如何将可拖动图形的节点绑定到可拖动矩形
- flutter - 当我按下我的 FlotaingButton 或 AppBar IconButton 时出现异常。我已经在 _MyAppHomePage 中添加了一个 Scffold
- php - docker-compose:我无法访问 wordpress 的 css 和 js 文件
- c - 杀死用 execl 生成的子进程而不使其成为僵尸
- design-patterns - 从事务数据库中查找封闭模式和最大模式