由于最近需求经常离不开做Flutter,但是在使用过程中经常会遇到一些问题,我这里只是把我遇到的问题和查到的解决办法做了一个小的汇总。当然,有些也不完全是问题,也是需求。
1.编译时的gradle问题
问题原因:运行内存不足
解决办法:android里面的gradle.properties进行修改
修改内容:第一行的 org.gradle.jvmargs=-Xmx1036M
最初是1536,修改小一点就可以运行(虽然我觉得治标不治本,希望评论区的大神可以私我更好的解决办法)
2.WiFi调试的问题
问题:ADB, IP
首先要 WIFI 调试,就一定要有 adb,且添加到环境变量
首先这里我会半引用这篇文章,并感谢对我的帮助
vscode通过wifi调试真机的Flutter应用 / 这个馒头有点白
步骤:
1.首先安装 ADB Commanads for VSCode扩展 并且必须确保ADB已经添加到系统环境变量中
2.真机用usb连接电脑,然后我是用电脑开了个热点给手机(我觉得保证在一个局域网会快点吧)
3.在vscode中按快捷键 Ctrl + Shift + P 或者直接 F1
Disconnect from any devices
Reset connected devices port to:5555
Connect to device IP
4.输入手机的ip
因为我用的局域网,所以很容易就可以查看到(当然手机设置里面直接也有IP)
拔掉usb现在就可以用wifi调试了
3. App上的状态栏的透明化
存在的问题:Flutter初始化的App往往手机状态通知是黑色的,而大多数App都做成了透明的
参考的文章,以及文章存在的问题
解法1:
参考文章:Flutter隐藏顶部状态栏和底部操作栏
//显示底部栏(隐藏顶部状态栏)
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
//显示顶部栏(隐藏底部栏)
SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);
//隐藏底部栏和顶部状态栏
SystemChrome.setEnabledSystemUIOverlays([]);
存在问题:对于大部分刘海屏很不友好
解法2:
参考文章:关于Flutter沉浸式状态栏
自行查看
问题:需要原生知识,对我不友好
解法3:
参考文章:[Flutter 实战] 设置沉浸式状态栏(Status Bar)
满足了我的需求