Instant Run

Android Studio 2.0 中引入的可以“大幅減少應(yīng)用更新時間”的功能。
更改代碼再次更新應(yīng)用,Instant Run 無需再次構(gòu)建新的 APK,而是直接向應(yīng)用推送更新。


與重新構(gòu)建部署的區(qū)別

  • 重新構(gòu)建部署


    重新構(gòu)建部署
  • Instant Run


    Instant Run

使用條件

  • Android Plugin for Gradle 版本在 2.0.0 或更高
  • module 級別的 build.gradle 文件中 minSdkVersion 設(shè)置為 15(Android 4.0.3) 或以上
  • 為獲取最佳性能,minSdkVersion 設(shè)置為 21(Android 5.0) 或以上

執(zhí)行方式

Android Studio 根據(jù)代碼修改類型自動選擇執(zhí)行方式

Instant Run 行為 適用范圍
heat exchange(熱交換) 更改現(xiàn)有方法的實現(xiàn)代碼
moderate exchange(溫和交換) 更改或移除現(xiàn)有資源文件
cold exchange(冷交換) 結(jié)構(gòu)性的代碼更改
deploy the new build(重新構(gòu)建) manifest 更改
  • heat exchange :速度最快,應(yīng)用不需要重新安裝,也不需要重啟。但是此種方式不會初始化正在運行的應(yīng)用中的對象,所以此時如果要看到更新就需要重新動當(dāng)前行為或者重啟應(yīng)用
  • moderate exchange:速度也非??欤瑧?yīng)用會繼續(xù)保持運行,但是當(dāng)前 Activity 會被重啟,重啟的時候屏幕會發(fā)生小閃爍
  • cold exchange:速度相對前兩種較慢,應(yīng)用不需要重新安裝,但是需要重啟。Android Studio 會將我們每一次修改打成一個 dex 文件發(fā)到手機上,應(yīng)用重啟才會加載這個新的 dex 文件。(cold exchange 基于只有 5.0 及以上的設(shè)備才支持的 multidex 機制,以下則執(zhí)行完整的 APK 安裝過程)
  • deploy the new build:對 AndroidManifest.xml 以及其引用的資源進行更改時,應(yīng)用會被重新構(gòu)建,因為應(yīng)用的相關(guān)信息(名字、版本等)需要在安裝 APK 的時候通過 AndroidManifest.xml 確定
  • 結(jié)構(gòu)性的代碼更改
    • 添加、移除、更改注解、字段、方法
    • 更改繼承類
    • 更改實現(xiàn)接口
    • 更改一個類的 static 修飾符
    • 使用動態(tài)資源 id 重新布局
  • manifest更改
    • 更改 AndroidManifest.xml
    • 更改 AndroidManifest.xml 所引用的資源,比如 string.xml、style.xml 等文件
    • 更改 UI 組件(需要清除并重新運行)

使用 Instant Run

  • 打開 Preferences 對話框
  • 導(dǎo)航至 Build, Execution, Deployment > Instant Run
  • 通過勾選框控制 Instant Run 的使用
使用 Instant Run
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如何編譯運行app 我們要編譯運行一個AS工程,只需在AndroidStudio上點擊幾下按鈕就行了。Instan...
    EsonJack閱讀 2,136評論 0 5
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評論 25 709
  • 原文:https://developer.android.com/studio/run/index.html#in...
    抹香君閱讀 1,019評論 0 5
  • 語言是窗戶 (否則 ,它們是墻 ) 聽了你的話 ,我仿佛受了審判 ,無比委屈 ,又無從分辯 , 在離開前 ,我想問...
    清水323閱讀 153評論 0 0
  • 我是日記星球238號星寶寶,我正在參加日記星球第六期21天蛻變之旅,這是我的第36篇原創(chuàng)日記,我相信堅持的力量! ...
    Ms娟子閱讀 471評論 2 2

友情鏈接更多精彩內(nèi)容