2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號:閩ICP備19027007號-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
Android Studio 3.5(當(dāng)前在Canary和Dev通道中)現(xiàn)在提供了一種新方法,可將代碼更改推送到您的應(yīng)用程序并即時查看其效果,而無需重新啟動應(yīng)用程序。它被簡單地稱為“應(yīng)用更改”,是Android Studio先前版本中“即時運行”功能的后繼產(chǎn)品。
Google的Android開發(fā)者博客對應(yīng)用更改說了以下幾點:
“應(yīng)用更改”使您可以將代碼和資源更改推送到正在運行的應(yīng)用程序,而無需重新啟動應(yīng)用程序-在某些情況下,也無需重新啟動當(dāng)前活動。應(yīng)用更改用全新的構(gòu)建優(yōu)化方法替代了Instant Run。通過使用Android 8.0(API級別26)或更高版本支持的運行時檢測,Apply Changes無需在構(gòu)建期間重寫APK的字節(jié)碼,而是可以動態(tài)地重新定義類。
此外,Android Studio現(xiàn)在會在檢測到更改與“應(yīng)用更改”不兼容時提示您決定是否重新啟動應(yīng)用程序或活動。與Instant Run的行為相比,這種額外的控件應(yīng)為您提供更一致和可預(yù)測的體驗。
博客文章繼續(xù)列出了新功能的一些限制。例如,您要在其上測試應(yīng)用程序的設(shè)備必須至少運行Android 8.0 Oreo(API級別26),并且某些代碼更改仍然需要您的應(yīng)用程序重新啟動。與“即時運行”一樣,如果您滿足以下條件,“應(yīng)用更改”將強制您的應(yīng)用重新啟動:
添加或刪除類,方法或字段
更改清單
更改方法簽名
更改方法或類的修飾符
重命名課程
更改類繼承
添加或刪除資源
在“已知問題”下,該博客文章指出,由于Google最初在此新功能中將穩(wěn)定性優(yōu)先于性能,因此“應(yīng)用更改”有時會比其先行功能“即時運行”慢得多。另外,不支持x86_x64仿真器映像,并且出于調(diào)試目的,僅支持Android Pie(API級別28)。您可以在下面的源鏈接中查看限制和已知問題的完整列表。
為了更詳細(xì)地描述“應(yīng)用更改”和“即時運行”之間的區(qū)別,Android Studio團隊的一位Google員工在Reddit上這樣說:
它所做的事情非常非常不同。Instant Run對構(gòu)建產(chǎn)生了非常特殊的影響,在編譯時對每個類進行檢測,以準(zhǔn)備在運行時用新版本的類替換它們。它還會將您的APK分成幾個APK,以更逐步地重新上傳您的應(yīng)用。
應(yīng)用更改沒有任何效果。無論您是否使用“應(yīng)用更改”,APK都幾乎相同。相反,它依靠ART VM的新運行時檢測功能來動態(tài)重新加載類并在應(yīng)用程序運行時替換它們。這就是為什么它需要更新版本的Android。
隨著Google對其性能和穩(wěn)定性的改進,“應(yīng)用更改”有望最終取代Beta和穩(wěn)定版渠道中的“即時運行”。
2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號:閩ICP備19027007號-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。