Flutter APK安装后卡白屏,模拟器偶现Flutter Logo卡顿求助
结合你提供的代码和现象,导致白屏/卡在启动页的可能原因如下:
main函数提前终止,runApp未执行
看你的main代码逻辑:当用户未登录(FirebaseAuth.instance.currentUser == null),或者已登录但位置权限未授权时,直接调用return终止了main函数,这时候runApp(const App())根本不会执行。Flutter没有启动任何页面,自然会停留在白屏或Flutter Logo界面。Firebase初始化异常或阻塞
await Firebase.initializeApp如果在真机上出现网络问题、Firebase配置错误(比如Android的google-services.json未正确配置、打包签名和Firebase控制台不匹配),会导致初始化卡住,后续代码无法执行,runApp迟迟不调用。模拟器网络环境稳定所以只是偶尔出现,真机网络波动或配置问题就会一直卡住。位置权限处理逻辑缺失
当位置权限未授权时,你直接return,既没有申请权限的逻辑,也没有引导用户去设置开启权限,程序直接终止初始化流程,没有进入页面渲染环节。getUserLocation可能阻塞主线程
如果getUserLocation是同步执行的耗时操作(比如直接调用阻塞式的定位API),会卡住main函数的执行,导致runApp延迟甚至无法执行,出现白屏。字体资源未正确打包
你在Theme里指定了fontFamily: "Roboto",如果打包时Roboto字体没有正确添加到项目资源中,真机上无法加载字体,会导致页面渲染卡住,表现为白屏。
内容的提问来源于stack exchange,提问作者Emir Bolat

