美文网首页
screen_util导致黑屏

screen_util导致黑屏

作者: 晓函 | 来源:发表于2022-06-29 09:23 被阅读0次

app总是会出现从后台切换到前台时候,出现黑屏,断断续续找了几周,从frame_page.dart里面的initState和didChangeAppLifecycleState开始查,最后用排除法,终于发现问题在main.dart里的ScreenUtilInit。

因为新项目用了screen_util 5.0版本,初始化方式改为了在main.dart中

找到bug

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context){
    return ScreenUtilInit(
      designSize:Size(360,690),//页面设计尺寸
      builder:(context,widget){      
        return MaterialApp(...);      
      }
    );
     
  }

}

修复bug

后来查了很多资料,发现ScreenUtilInit有时候得到的宽度是0,会黑屏,于是换了种初始化方式,改在frame_page中初始化,
更好的初始化方式:
main.dart

void main() async{
  await ScreenUtil.ensureScreenSize();
  runApp();
}

frame_page.dart:

class _PageFrameState extends State<PageFrame>{
  @override
  Widget build(BuildContext context){
    ScreenUtil.init(context, designSize:Size(360,690));
    ...
  }
}

这个问题终于解决了

相关文章

网友评论

      本文标题:screen_util导致黑屏

      本文链接:https://www.haomeiwen.com/subject/bgdtbrtx.html