首頁  >  問答  >  主體

java - 手机每次更新系统时优化所有程序一遍是在干嘛?

如题,这个可能不是开发问题,但又跟开发相关~

怪我咯怪我咯2765 天前373

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:36:16

    主要是對程式和系統間的關係進行梳理,讓程式適應更新後的系統,可能會對程式的在系統中的配置資料進行更新;可能清除、更新程式的編譯快取;可能對系統的新功能為程序做記錄……總之事情是很多的,根據每次更新的不同又各不一樣。

    舉個簡單的例子,如果某次系統增加或優化了一個對其喚醒的功能,這時就需要重新計算每個程式是否含有喚醒廣播接收器,喚醒的時間是怎樣,記錄這些資訊為對齊喚醒這個功能服務。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:36:16

    先回答樓主的問題,更新系統後的最佳化是在將系統中所有的apk中的dex檔案轉換為odex檔案。
    為何要做這個操作,這裡要說下Dalvik和ART。在Android4.4之前,我們都是用Dalvik,它是解釋執行的,而在Android 4.4 之後,google 引入了ART運行環境,而且在5.0之後全面轉向ART,它採用的是預先編譯的機制,將dex檔案預先轉換為odex文件,預編譯字節碼到機器語言,從而讓應用程式執行將更有效率,啟動更快。

    回覆
    0
  • 取消回覆