在 Flutter 中保持路由存活
Keeping a route alive in Flutter
我有一个可以看到多张卡片的 flutter 应用程序。这些卡片是可点击的,并且会显示一个带有自定义查看器的 InAppWebView,它存在于我 link 访问的网站上。
然而,这个 InAppWebView 的加载对应用程序来说非常费力,我想尽可能地预加载它。
很难提供很多细节,因为这是与工作相关的私人信息,所以我不能说得太具体。我也是这里唯一一个使用 Flutter 的人,所以不能指望同事们的建议。
我希望减少 InAppWebView 的加载时间,方法是让它在后台打开,然后切换到正确的路径,而不是从头开始初始化。这里的问题是 URL 会改变,但这可以在视图内部处理,而不是创建一个全新的 InAppWebView。
简而言之:
如何在我的 Flutter 应用程序后台创建一个 widget/route,并在需要时切换到它?
也许您可以使用 Stack
和 Visibility
小部件?像这样:
bool _isWebPageVisible = false;
Stack(
children: <Widget>[
MainWidget(),
Visibility(
visible: _isWebPageVisible,
child: WebPageWidget()
]
)
并且您可以在需要时更改 _isWebPageVisible。当可见时,WebPageWidget
将出现在 MainWidget
上方。
我有一个可以看到多张卡片的 flutter 应用程序。这些卡片是可点击的,并且会显示一个带有自定义查看器的 InAppWebView,它存在于我 link 访问的网站上。 然而,这个 InAppWebView 的加载对应用程序来说非常费力,我想尽可能地预加载它。
很难提供很多细节,因为这是与工作相关的私人信息,所以我不能说得太具体。我也是这里唯一一个使用 Flutter 的人,所以不能指望同事们的建议。
我希望减少 InAppWebView 的加载时间,方法是让它在后台打开,然后切换到正确的路径,而不是从头开始初始化。这里的问题是 URL 会改变,但这可以在视图内部处理,而不是创建一个全新的 InAppWebView。
简而言之: 如何在我的 Flutter 应用程序后台创建一个 widget/route,并在需要时切换到它?
也许您可以使用 Stack
和 Visibility
小部件?像这样:
bool _isWebPageVisible = false;
Stack(
children: <Widget>[
MainWidget(),
Visibility(
visible: _isWebPageVisible,
child: WebPageWidget()
]
)
并且您可以在需要时更改 _isWebPageVisible。当可见时,WebPageWidget
将出现在 MainWidget
上方。