预加载图片是不可能的。
可以使用Offstage组件先将图片放到页面上来。
此时都不需要使用builder,就可以加载图片了。
Scaffold(
body: Stack(
children: [
// 页面上的图片。
PageView(
controller: _pageController,
onPageChanged: (index) {
setState(() => _pageIndex = index);
},
physics: PageScrollPhysics(parent: ClampingScrollPhysics()),
children: _pages(),
),
// 页面指示器
_pageIndicator(),
// 跳过按钮
_jumpButton(),
// 立即体验按钮
_goInButton(_pageIndex == _images.length - 1),
// 用来提前加载pageView中的图片。
Offstage(offstage: true, child: Column(children: _pages())),
],
),
)