老司機帶你快速上手除錯Flutter專案
對於開發專案來說,除錯控制工具是不可少的,開發者是一定要掌握除錯工具的使用,一來是為了檢視log日誌,一來是為了排查錯誤,再一個原因是可以檢視記憶體佔用情況,以便後續效能優化。
Flutter的除錯主要有3個需要去關注的,一個是Flutter Outline,一個是Flutter Inspector,還有一個是log控制檯。前者主要是用於檢視預覽,後者是用於效能除錯,log控制檯用於檢視log資訊以及定位錯誤等。
下面就詳細的講解一下如何使用Flutter的除錯工具。
一、基礎配置和設定
在講解除錯工具之前,先來看看有關的設定選項,點選選單欄File–>Settings–>Languages & Frameworks –> Flutter,開啟之後設定如圖2.6.1所示,重點欄位我都翻譯成了中文,幫助大家理解,如果不是很熟悉這個設定,推薦大家按照我這樣去配置。
【提示】如果Flutter Outline和Flutter Inspector沒有出現在側邊欄(預設是在右邊側邊欄),建議重啟Android Studio,如果還沒有出現,建議解除安裝Flutter外掛,重新安裝一次,安裝完記得重啟Android Studio。
二、介紹一下log控制檯
控制檯是除錯程式必須要看的一個輔助工具,控制檯有兩個:一個是除錯Android程式的 LogCat除錯臺,另一個是Flutter裡面自帶的Run控制檯。LogCat除錯臺主要是檢視原生Android有關的日誌的,我們這裡就不詳細講解它,我們重點來看了解一下Run控制檯。
Run控制檯在工程建立的時候是沒有的,當我們執行專案的時候,Run控制檯就會出現在底部選單欄,如圖所示:
這裡面有幾個工具,我簡單的描述一下每個工具的作用:
首先我們看左邊第一列的4個工具的作用,如圖所示:
然後再看看第二列的2個工具的作用,如圖所示:
然後再看看橫向的5個工具的作用,如圖所示:
最後看看主體內容的介紹,如圖所示:
三、Dart Analysis
當我們安裝了Dart外掛之後,這個工具就會出現在底部工具欄皮膚裡面。Dart Analysis這個工具從字面意思就可以知道它主要是用來分析Dart語法的。比如語法錯誤或者語法警告等。
比如宣告變數未使用,這個屬於語法警告,如圖中的61行所示:
比如語法錯誤,如圖2.6.2.2所示:
四、Flutter Outline
Flutter Outline主要是用來檢視預覽的。當我們執行專案之後,就會看到Flutter Outline裡面會顯示每一個類,成員變數,方法名,引數等詳細資訊,通過Flutter Outline考驗快速定位到要檢視的相關類或者方法欄位資訊。具體功能如圖2.6.3.1所示:
這裡主要講一下上方並排的7個工具的功能,以及右邊那個漏斗形狀的藍色圖示的作用。
圖示 | 描述 |
---|---|
|
新增一個Center元件。 |
|
新增一個Padding元件。 |
|
新增一個Column元件。 |
|
新增一個Row元件。 |
|
用來重構方法。 |
|
將元件向上移動。 |
|
將元件向下移動。 |
|
移除元件。 |
|
點選它,就會只顯示元件,再次點選就顯示完整的程式碼結構。例如上例的fluter_demo中,點選了這個圖示之後,顯示完整的程式碼結構,如下圖所示: |
四、Flutter Inspector
。。。待續
五、程式碼中的除錯
。。。待續
【好訊息】我的微信公眾號正式開通了,關注一下吧!微信搜尋 Flutter那些事
我的部落格即將入駐“雲棲社群”,誠邀技術同仁一同入駐。
相關文章
- gdb除錯快速上手除錯
- 老司機帶你玩轉Radare2
- 老司機帶你深入 Laravel 之 ServiceProvider 原理LaravelIDE
- 老司機帶你實現 Laravel 之管道Laravel
- 老司機常用的幾個JavaScript除錯技巧JavaScript除錯
- vscode快速構建Flutter專案+熱載入除錯VSCodeFlutter除錯
- 老司機帶你深入理解 Laravel 之 FacadeLaravel
- 老司機帶你用 PHP 實現 Websocket 協議PHPWeb協議
- 老司機帶你用python來爬取妹子圖Python
- 老司機帶你深入分析 Laravel 響應之一Laravel
- 老司機帶你領悟 Laravel 之授權系統Laravel
- Chaos帶你快速上手混沌工程
- vscode 啟動與除錯 flutter 專案VSCode除錯Flutter
- 老司機談APK瘦身套路-專案優化篇APK優化
- 老司機帶你用go實現路由的鏈式定義Go路由
- 新人如何快速上手新專案?
- 老司機帶你玩轉面試(5):Redis 叢集模式 Redis Cluster面試Redis模式
- 老司機帶你玩轉面試(4):Redis 高可用之哨兵模式面試Redis模式
- 手把手帶你快速上手香橙派AIproAI
- 幾個小實踐帶你快速上手MindSpore
- 老司機帶你深入理解 Laravel 中介軟體(全域性中介軟體)Laravel
- 老司機帶你玩轉面試(3):Redis 高可用之主從模式面試Redis模式
- 如何快速上手React、Vue前端專案ReactVue前端
- Android學習“易錯” 系列:老司機都掉的坑,你進去了嗎?Android
- 安防老司機帶你瞭解專業的安防交換機
- 老司機的思考
- 除錯python專案除錯Python
- 使用 ndb 除錯你的 Node.js 專案除錯Node.js
- Flutter ListView 實戰快速上手FlutterView
- 基於VSCode快速上手FlutterVSCodeFlutter
- 老司機避坑指南:如何快速搞定微服務架構?微服務架構
- Vue專案除錯技能Vue除錯
- 兩分鐘帶你快速掌握Flutter的專案結構、資源、依賴和本地化Flutter
- CSS快速入門基礎篇,讓你快速上手(附帶程式碼案例)CSS
- 一文帶你快速上手 UniApp 元件與 uni-uiAPP元件UI
- 老司機 iOS 週報 #10iOS
- 老司機 iOS 週報 #9iOS
- 老司機 iOS 週報 #5iOS