美文网首页
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