美文网首页Flutter
flutter黑屏,从后台切换到前台经常黑屏

flutter黑屏,从后台切换到前台经常黑屏

作者: 晓函 | 来源:发表于2022-04-11 16:51 被阅读0次

    flutter黑屏,从后台切换到前台经常黑屏,并且黑屏之后必须要重新切换一下前台后台才正常显示,这个我问题出现的频率很高。
    之前按照百度的方法改启动页,没任何用。

    后来想起我监听了app切换到前台的事件

    initState(){
    WidgetsBinding.instance?.addObserver(this);
    }
    
      @override
      void didChangeAppLifecycleState(AppLifecycleState state) {
        super.didChangeAppLifecycleState(state);
        switch (state) {
          case AppLifecycleState.inactive: // 处于这种状态的应用程序应该假设它们可能在任何时候暂停。
          //关闭弹窗
            if(isShowBox) Navigator.pop(context);
            break;
          case AppLifecycleState.resumed: //从后台切换前台,界面可见
            parseWork();//临时注释,测试能否解决黑屏bug
            break;
          case AppLifecycleState.paused: // 界面不可见,后台
            break;
          case AppLifecycleState.detached: // APP结束时调用
            break;
        }
      }
    

    里面有个parseWork的工作,还挺耗时的,是一个async的异步函数。
    于是注释掉,果然正常了。
    因为异步函数也是在ui线程中执行,我们需要在子线程中执行,用compute

    await compute(parseWork,1);
    

    这样就没问题了,黑屏问题解决了。

    相关文章

      网友评论

        本文标题:flutter黑屏,从后台切换到前台经常黑屏

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