在 Flutter 中保持路由存活

Keeping a route alive in Flutter

我有一个可以看到多张卡片的 flutter 应用程序。这些卡片是可点击的,并且会显示一个带有自定义查看器的 InAppWebView,它存在于我 link 访问的网站上。 然而,这个 InAppWebView 的加载对应用程序来说非常费力,我想尽可能地预加载它。

很难提供很多细节,因为这是与工作相关的私人信息,所以我不能说得太具体。我也是这里唯一一个使用 Flutter 的人,所以不能指望同事们的建议。

我希望减少 InAppWebView 的加载时间,方法是让它在后台打开,然后切换到正确的路径,而不是从头开始初始化。这里的问题是 URL 会改变,但这可以在视图内部处理,而不是创建一个全新的 InAppWebView。

简而言之: 如何在我的 Flutter 应用程序后台创建一个 widget/route,并在需要时切换到它?

也许您可以使用 StackVisibility 小部件?像这样:

bool _isWebPageVisible = false;

Stack(
  children: <Widget>[
    MainWidget(),
    Visibility(
      visible: _isWebPageVisible,
      child: WebPageWidget()
  ]
)

并且您可以在需要时更改 _isWebPageVisible。当可见时,WebPageWidget 将出现在 MainWidget 上方。