在結束除錯/運行會話和/或從計算機上拔下我的手機并重新啟動應用程式后,在 Android Studio 中,本地安裝的應用程式似乎沒有保存最后一次熱多載的更改。
我注意到了幾次,并決定通過一個簡單的頁面并Text在單獨的熱多載中引入幾個簡單的小部件(由我按 Ctrl S 觸發)來運行一個實驗,并且確實在重新啟動應用程式后(拔掉電源后)只有兩個Text小部件中的第一個出現了,表明最后一次熱多載的更改確實已經丟失。
我不確定這是設計使然還是我的開發環境中的某些內容不起作用。
無論哪種方式,我都希望能夠輕松地拔掉電源并保留最后的更改,這樣當我與其他開發人員在我的計算機之外討論我的最新更改時,我們可以查看最新的更改。
PS 我知道我可以在每個開發會話結束時引入一個虛擬更改并拔掉電源,以便所有實際更改都保留下來,但我想知道是否有另一種比添加垃圾代碼更優雅的解決方案。
uj5u.com熱心網友回復:
熱多載的作業原理是將您的最新更改上傳到可除錯的行程中。源代碼被編譯成內核檔案并發送到移動設備的 Dart VM。但是它們加載在記憶體中。當您斷開除錯行程并終止您的應用程式時,再次打開后,它將加載磁盤中最后一次實際編譯的庫。
不幸的是,應用更改并將它們保存在記憶體和磁盤中實際上會使整個程序的效率降低很多,并且目前不可用。
如果您想在不重新編譯的情況下運行您的應用程式,您可以:
- 連接您的設備
- 打開舊版應用
- 在 IDE 上,單擊帶有箭頭的小錯誤圖示(參見螢屏截圖)(或按兩次 shift 然后鍵入“將除錯器附加到 Android 行程”)
- 單擊確定
請注意:如果您更改了本機代碼,則此方法將無法正常作業,例如安裝通過平臺通道添加功能的第三方庫將需要您重新編譯應用程式。

希望這可以幫助。VSCode 上也有同樣的事情。
查看更多資訊:https : //docs.flutter.dev/development/tools/hot-reload
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/376336.html
