Flutter 应用程序在发布模式下显示灰屏,但在调试模式下工作正常“DiagnosticsProperty<void>”实例

Ahm*_*med 36 https android release flutter

我注意到该应用程序在调试模式下运行良好,但是当我在手机上尝试 apk 时,该应用程序在加载屏幕后显示灰色屏幕。当我使用 https 并添加所有权限时。

Httpclient 在发布模式下不起作用(I/flutter (22182): 另一个异常被抛出:'fr' 的实例)

但在flutter android中以调试模式工作

dev*_*jay 47

当您在调试模式下运行您的应用程序并且出现问题时,您会看到带有日志的可怕的红色错误屏幕。在发布模式下,您只会看到一个灰色屏幕。

现在,当您在调试模式下运行您的应用程序时,有时会抛出一些错误,但我们错误地忽略了它们,因为我们看到应用程序在屏幕上完美运行,但是如果您在调试模式下打开日志,您会看到一些错误消息。

对我来说是这样的:

???????? Exception caught by widgets library ???????????????????????????????????????????????????????
The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.

The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type StackParentData.

Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets.
The offending Expanded is currently placed inside a Stack widget.
Run Code Online (Sandbox Code Playgroud)

我的应用程序在调试模式下完美运行,而 Flutter 仍然在后台抛出此错误。

现在,当我在发布模式下运行应用程序时,我看到一个灰色屏幕,这与我在调试模式下完美运行的应用程序不同。

当我检查日志时,我看到错误消息:

Flutter app show grey screen in release mode but works fine in debug mode Instance of 'DiagnosticsProperty<void>'
Run Code Online (Sandbox Code Playgroud)

那么解决方案呢?

在调试模式下运行您的应用程序并检查日志,我相信您会在那里找到问题。只要您的代码中存在错误,更改 Flutter 频道就无济于事。

  • 这就是我的解决方案!我在调试模式下重新启动并修复所有问题,然后最终在发布模式下工作 (2认同)
  • 你是一个救世主......我浪费了一整天的时间来寻找解决方案,然后我找到了你的答案。这对我来说很有效。 (2认同)

Sha*_*han 13

就我而言,我在我的一个小部件上使用了Expanded内部的小部件。Stack

错误的方法

Stack(
     children: [
          Expanded(child: buildHeader(context)),
          Align()
     ]),
Run Code Online (Sandbox Code Playgroud)

正确的做法

Stack(
     children: [
          buildHeader(context),
          Align()
     ]),
Run Code Online (Sandbox Code Playgroud)

我在 Android 和 iOS 平台上都遇到了这个问题,这就是我解决它的方法。


Tok*_*yet 0

这个问题已经存在一段时间了,这里是相关问题

我遇到过这个问题,但这取决于代码。对我来说,对于CacheNetworkImage issues#404,我传递了错误imageUrl或 null,这导致了灰屏。即使我在升级到1.17.1(之前的flutter 1.12.13+hotfix.8)之前没有正确处理,UI也可以在没有灰屏的情况下正常工作,现在一切都需要更加小心。