底部导航跳转,会经过中间的页面
zyzTm opened this issue · 1 comments
运行了App后,底部导航有
首页HomePage 、
体系TreePage、
导航NaviPage、
项目ProjectPage,
然后我在这4个页面的void initState()里面,分别添加了打印语句:
首页 添加了 print("首页页面----------######");
体系 添加了 print("体系页面----------######");
导航 添加了 print("导航页面----------######");
项目 添加了 print("项目页面----------######");
然后从【首页】选中状态,清空控制台输出,点击【项目】页面时:打印的结果是
I/flutter ( 1422): 首页页面----------######
I/flutter ( 1422): 体系页面----------######
I/flutter ( 1422): 体系页面----------######
I/flutter ( 1422): 项目页面----------######
I/flutter ( 1422): 项目页面----------######
分析结果是:首页初始化了1次,体系页初始化了2次,项目页初始化了2次
从【项目页】选中状态,清空控制台输出,点击【首页】页面时:打印的结果是
I/flutter ( 1422): 项目页面----------######
I/flutter ( 1422): 导航页面----------######
I/flutter ( 1422): 导航页面----------######
I/flutter ( 1422): 体系页面----------######
I/flutter ( 1422): 体系页面----------######
I/flutter ( 1422): 首页页面----------######
I/flutter ( 1422): 首页页面----------######
分析结果是:项目页初始化了1次,导航页初始化了2次,体系页初始化了2次,首页初始化了2次
问题总结:
1、相邻的2个页面跳转,旧页面会初始化1次,新页面初始化2次
2、不相邻的2个页面跳转,旧页面会初始化1次,新页面初始化2次,并且会把中间间隔的页面都分别初始化2次
请问大神,这个问题怎么解决?
看看有没有类似setOffscreenPageLimit的属性,设置一下预加载的数量