导航组件存在viewpager性能问题

时间:2019-05-20 14:42:12

标签: android android-fragments android-architecture-navigation

我的情况如下:我有一个const sql = require('mssql'); const config = require('../config/database.js'); const pool = new sql.ConnectionPool(config).connect(); module.exports = async request => { try { const result = await request(pool); return { result: result.recordSet, err: null }; } catch (err) { return { result: null, err } } }; ,其中包含一个HomeFragment,其中有3个片段(其中一个也有一个子片段)。现在,当我离开ViewPager导航并尝试返回时,过渡过程需要1-2秒并且非常缓慢,可能是因为HomeFragment内部的所有3个片段都已还原。使用Android Viewpager可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

考虑使用FragmentPagerAdapter而不是FragmentStatePagerAdapter

从文档中:

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

FragmentStatePagerAdapter -在未知数的页面上分页时使用。 FragmentStatePagerAdapter通过在用户离开时破坏片段来优化内存使用

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