最近在用flutter开发web界面,出现了这个问题。
Overflow on channel: flutter/platform. Messages on this channel are being discarded in FIFO fashion. The engine may not be running or you need to adjust the buffer size if of the channel.
看了github上的42880 issues,说是channel的问题,会在将来更改,但是我仔细观察了一下之后,发现并不是,而是跟状态栏属性更改
有关。
解决方案
一、brightness
找到项目中AppBar有使用到更改状态栏字体颜色的地方,如下
AppBar(
brightness: Brightness.light,
);
改成
AppBar(
brightness: kIsWeb ? null : Brightness.light,
);
二、AnnotatedRegion<SystemUiOverlayStyle>
as we know
这玩意也是用来改状态栏颜色的地方
AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.dark,
)
当在web中,就不用就完事了。
比如这样。
Widget build(BuildContext context) {
return kIsWeb
? mainWidgets
: AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle.dark, child: mainWidgets);
}