從零學習Fluter(八):Flutter的四種運行模式--Debug、Release、Profile和test以及命名規范


從零學習Fluter(八):Flutter的四種運行模式--Debug、Release、Profile和test以及命名規范

好幾天沒有跟新我的這個系列文章,一是因為這兩天我又在之前的基礎上,重新認識flutter,覺得flutter這個東西越來越有意思。並且水很深

今天簡單分享一下開發學習中的小知識點

Flutter有四種運行模式:Debug、Release、Profile和test,這四種模式在build的時候是完全獨立的

Debug

Debug模式可以在真機和模擬器上同時運行:會打開所有的斷言,包括debugging信息、debugger aids(比如observatory)和服務擴展。優化了快速develop/run循環,但是沒有優化執行速度、二進制大小和部署。命令flutter run就是以這種模式運行的,通過sky/tools/gn --android或者sky/tools/gn --ios來build。有時候也被叫做“checked模式”或者“slow模式”。

Release

Release模式只能在真機上運行,不能在模擬器上運行:會關閉所有斷言和debugging信息,關閉所有debugger工具。優化了快速啟動、快速執行和減小包體積。禁用所有的debugging aids和服務擴展。這個模式是為了部署給最終的用戶使用。命令flutter run --release就是以這種模式運行的,通過sky/tools/gn --android --runtime-mode=release或者sky/tools/gn --ios --runtime-mode=release來build。

Profile

Profile模式只能在真機上運行,不能在模擬器上運行:基本和Release模式一致,除了啟用了服務擴展和tracing,以及一些為了最低限度支持tracing運行的東西(比如可以連接observatory到進程)。命令flutter run --profile就是以這種模式運行的,通過sky/tools/gn --android --runtime-mode=profile或者sky/tools/gn --ios --runtime-mode=profile```來build。因為模擬器不能代表真實場景,所以不能在模擬器上運行。

test

headless test模式只能在桌面上運行:基本和Debug模式一致,除了是headless的而且你能在桌面運行。命令flutter test就是以這種模式運行的,通過sky/tools/gn來build。
   在我們實際開發中,應該用到上面所說的四種模式又各自分為兩種:一種是未優化的模式,供開發人員調試使用;一種是優化過的模式,供最終的開發人員使用。默認情況下是未優化模式,如果要開啟優化模式,build的時候在命令行后面添加--unoptimized參數。

Flutter中遵循的命名規范

  • 文件夾名遵循駝峰命名法

  • 文件名采用蛇形命名法

    • flutter中沒用采用單文件單類,而是采用單文件多類划分模式,注意,多類之間要有耦合的緊密聯系
  • 類名遵循帕斯卡命名法

  • 變量采用駝峰命名發

下面分享一個我項目中的架構目錄

最后再分享一個問題,關於android 狀態欄陰影的問題

我們默認采用material 風格的設計樣式,但是我們的狀態欄總會有一個陰影覆蓋,解決這個問題我們只需設置一下

TargetPlatform platform = defaultTargetPlatform;
  if (platform != TargetPlatform.iOS) {
    SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(
        statusBarColor: Colors.transparent,
        //statusBarIconBrightness: Brightness.dark
        );
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }

這里可以看到,狀態欄的陰影沒有了

下一張分享一下,如何使用vsc監視變量,以及調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM