Android 后台切换到前台过程中,有几率出现黑屏
naivetoby opened this issue · comments
Toby commented
频繁使用 App 一天遇到不超过 3 次,华为概率比较高。
遇到这种问题的时候,只需要手机锁屏一下再解锁,黑屏消失,显示恢复正常。
原初始化方式为
ScreenUtilInit(
designSize: const Size(375, 814),
builder: (_, __) {
return MaterialApp()
}
)
Flutter: 3.13.2 beta (August 07, 2023)
flutter_screenutil: ^5.8.4
可能是 Flutter 优化了启动方式,导致 ScreenUtilInit 获取的宽高可能为 0,造成渲染错误。
参考链接:
https://zhuanlan.zhihu.com/p/632774669
优化后初始化方式为
void main() async {
// FIXME 解决黑屏
await ScreenUtil.ensureScreenSize();
runApp(MyApp());
}
return MaterialApp(
builder: (context, child) {
// FIXME 初始化 ScreenUtil
ScreenUtil.init(
context,
designSize: const Size(375, 814),
);
// 其他代码
}
);
效果未知,目前还在观察中。。。
Toby commented
切换成 flutter_screenutil: 5.9.0-beta 已解决这个问题