【问题标题】:hot reload needs to be done for app to run需要进行热重载才能运行应用程序
【发布时间】:2020-10-13 23:06:28
【问题描述】:

如果 Firebase 中的数据为 != null,我正在开发一个使用 Firebase 和 Stream 来显示列表视图的 Flutter 应用。如果数据为空,我的代码会显示加载符号。每当我启动我的应用程序时,首先会出现加载符号,并且在我热重新加载我的应用程序之前它不会消失。当我再次热重启时,我需要热重新加载才能显示数据。如果我发布了我的应用程序,用户会遇到这个问题,还是仅仅是因为我在模拟器中处于调试模式?如果这是应用发布时可能出现的问题,有谁知道如何解决这个问题?

代码:

  Widget MemoirsList() {
    return SingleChildScrollView(
      child: memoirsStream != null
          ? Column(
              children: <Widget>[
                StreamBuilder(
                  stream: memoirsStream,
                  builder: (context, snapshot) {
                    return ListView.builder(
                        padding: EdgeInsets.symmetric(horizontal: 16),
                        itemCount: snapshot.data.documents.length,
                        shrinkWrap: true,
                        physics: NeverScrollableScrollPhysics(),
                        itemBuilder: (context, index) {
                          return MemoirsCard(
                            authorName: snapshot.data.documents[index].data['authorName'],
                            title: snapshot.data.documents[index].data["title"],
                            description: snapshot.data.documents[index].data['description'],
                            imgUrl: snapshot.data.documents[index].data['imgURL'],
                          );
                        });
                  },
                )
              ],
            )
          : Container(
              alignment: Alignment.center,
              child: CircularProgressIndicator(),
          ),
    );
  }

【问题讨论】:

    标签: flutter dart hot-reload


    【解决方案1】:

    肯定和Debug模式有关。我也经常面对这个问题。尝试在发布模式下构建它,它应该可以正常工作。由于允许热重载和源代码级调试的调试开销,调试构建的应用程序大小很大。

    在构建应用的发布版本时,请考虑使用 --split-debug-info 标记。这个标签可以显着减少代码大小。有关使用此标签的示例,请参阅Obfuscating Dart code

    您可以做的其他事情来使您的应用更小:

    • 删除未使用的资源
    • 尽量减少从库中导入的资源
    • 支持有限数量的屏幕密度
    • 压缩 PNG 和 JPEG 文件

    To build a release version for Android

    To build a release version for IOS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-21
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多