flutter release 白屏解决步骤 9天解决掉!

核心解决方法

直接命令行执行 flutter run --release --verbose

然后可以看到release下面的bug

经过9天的耐心的调试。。发现就是跟Debug、和Release有关

与混淆什么的都无关。。所以可以将之前的mian方法抽取出来一个方法 如果里面单独是runApp()就不用抽取了

void main() {
//如果size是0,则设置回调,在回调中runApp
  if(window.physicalSize.isEmpty){
    window.onMetricsChanged = (){
      //在回调中,size仍然有可能是0
      if(!window.physicalSize.isEmpty){
        window.onMetricsChanged = null;
        runMyAPP();
      }
    };
  } else{
    //如果size非0,则直接runApp
    runMyAPP();
  }
}
import 'dart:ui';

分析:可能与android机型多有关

此bug在小米8上没事 vivo手机上白屏

ios测试机没事。所以。。。。加上这串代码的时候也可以为了照顾ios 单独判断下 如果是苹果平台还是用 runMyApp()方法 安卓则用上面的方法

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/117736460#comments_21904430