我的情况如下:我有一个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
可以做到这一点吗?
答案 0 :(得分:0)
考虑使用FragmentPagerAdapter而不是FragmentStatePagerAdapter
从文档中:
FragmentPagerAdapter -在固定的少量同级屏幕之间导航时使用。
FragmentStatePagerAdapter -在未知数的页面上分页时使用。 FragmentStatePagerAdapter通过在用户离开时破坏片段来优化内存使用。
也请尝试使用ConstraintLayout,以使视图层次结构保持平坦。 在此视频中,演讲者解释了为什么这很重要: https://youtu.be/rzmB3UxxhaA?t=2188