您的位置: 首頁 >科技 >

谷歌的Android開發(fā)者博客對應(yīng)用更改說了以下幾點(diǎn)

2022-09-14 18:26:51 編輯:云雪元 來源:
導(dǎo)讀 Android Studio 3.5(當(dāng)前在Canary和Dev通道中)現(xiàn)在提供了一種新方法,可將代碼更改推送到您的應(yīng)用程序并即時(shí)查看其效果,而無需重新啟動(dòng)...

Android Studio 3.5(當(dāng)前在Canary和Dev通道中)現(xiàn)在提供了一種新方法,可將代碼更改推送到您的應(yīng)用程序并即時(shí)查看其效果,而無需重新啟動(dòng)應(yīng)用程序。它被簡單地稱為“應(yīng)用更改”,是Android Studio先前版本中“即時(shí)運(yùn)行”功能的后繼產(chǎn)品。

Google的Android開發(fā)者博客對應(yīng)用更改說了以下幾點(diǎn):

“應(yīng)用更改”使您可以將代碼和資源更改推送到正在運(yùn)行的應(yīng)用程序,而無需重新啟動(dòng)應(yīng)用程序-在某些情況下,也無需重新啟動(dòng)當(dāng)前活動(dòng)。應(yīng)用更改用全新的構(gòu)建優(yōu)化方法替代了Instant Run。通過使用Android 8.0(API級別26)或更高版本支持的運(yùn)行時(shí)檢測,Apply Changes無需在構(gòu)建期間重寫APK的字節(jié)碼,而是可以動(dòng)態(tài)地重新定義類。

此外,Android Studio現(xiàn)在會(huì)在檢測到更改與“應(yīng)用更改”不兼容時(shí)提示您決定是否重新啟動(dòng)應(yīng)用程序或活動(dòng)。與Instant Run的行為相比,這種額外的控件應(yīng)為您提供更一致和可預(yù)測的體驗(yàn)。

博客文章繼續(xù)列出了新功能的一些限制。例如,您要在其上測試應(yīng)用程序的設(shè)備必須至少運(yùn)行Android 8.0 Oreo(API級別26),并且某些代碼更改仍然需要您的應(yīng)用程序重新啟動(dòng)。與“即時(shí)運(yùn)行”一樣,如果您滿足以下條件,“應(yīng)用更改”將強(qiáng)制您的應(yīng)用重新啟動(dòng):

添加或刪除類,方法或字段

更改清單

更改方法簽名

更改方法或類的修飾符

重命名課程

更改類繼承

添加或刪除資源

在“已知問題”下,該博客文章指出,由于Google最初在此新功能中將穩(wěn)定性優(yōu)先于性能,因此“應(yīng)用更改”有時(shí)會(huì)比其先行功能“即時(shí)運(yùn)行”慢得多。另外,不支持x86_x64仿真器映像,并且出于調(diào)試目的,僅支持Android Pie(API級別28)。您可以在下面的源鏈接中查看限制和已知問題的完整列表。

為了更詳細(xì)地描述“應(yīng)用更改”和“即時(shí)運(yùn)行”之間的區(qū)別,Android Studio團(tuán)隊(duì)的一位Google員工在Reddit上這樣說:

它所做的事情非常非常不同。Instant Run對構(gòu)建產(chǎn)生了非常特殊的影響,在編譯時(shí)對每個(gè)類進(jìn)行檢測,以準(zhǔn)備在運(yùn)行時(shí)用新版本的類替換它們。它還會(huì)將您的APK分成幾個(gè)APK,以更逐步地重新上傳您的應(yīng)用。

應(yīng)用更改沒有任何效果。無論您是否使用“應(yīng)用更改”,APK都幾乎相同。相反,它依靠ART VM的新運(yùn)行時(shí)檢測功能來動(dòng)態(tài)重新加載類并在應(yīng)用程序運(yùn)行時(shí)替換它們。這就是為什么它需要更新版本的Android。

隨著Google對其性能和穩(wěn)定性的改進(jìn),“應(yīng)用更改”有望最終取代Beta和穩(wěn)定版渠道中的“即時(shí)運(yùn)行”。


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

最新文章

精彩推薦

圖文推薦

點(diǎn)擊排行

2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號(hào):閩ICP備19027007號(hào)-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。