核心解决方法
直接命令行执行 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()方法 安卓则用上面的方法