2016 Google I/O Android N Beta版運行速度提升600%是怎麼做到的?
早上看到的新聞:Android N Beta版發布:應用運行速度提升6倍
http://www.ithome.com/html/android/226464.htm怎麼理解速度快6倍?
沒有提到邊界(限制)條件直接下結論是耍流氓
Android developers 的 YouTube 頻道有一節session專門講解N的art和舊版相比的變化
https://www.youtube.com/watch?v=fwMM6g7wpQ8大致上:
1,安裝應用的時候不做aot編譯,後台在空閑且充電的時候會進行pgo式的aot編譯(Profile-Guided Optimizations),而且不是所有的代碼都會被編譯。如此減小了應用佔用的空間,極大提高了安裝速度,另一個好處是,更新系統後,惱人的「正在優化系統」一兩分鐘就能過去(正在優化系統實際上就是把無法通過驗證的的應用,一般是全部應用的dex文件重新編譯一次,在Android 5~6時代的時候,這個時長是十幾分鐘)。
Nexus 6p(我們都知道snapdragon 810這個處理器性能不咋地)的測量結果是:
M 更新到 M(的下一個月度安全更新),編譯全部的應用需要十幾分鐘M 更新到 N的同一個過程只需要不到四分鐘N 更新到 N連一分鐘都不需要(M到N需要的驗證更多一些)
2,知乎上有大神(好像是 @RednaxelaFX 的這個帖子ART和JIT的除了編譯的時機區別以外,對於編譯的方式有什麼區別嗎? - RednaxelaFX 的回答)提到過,M還是N的art的編譯器源自chrome的V8,更早的lollipop的quick編譯器來自於dalvik
被第三方應用使用的apk做完整的(通用)aot編譯,其餘部分且已經收集了足夠多遙測數據的apk則進行pgo類型的aot編譯,這種情況下只編譯3,art的解釋器比M的快3倍
4,重新引入jit編譯(好像這句話說得也不對),但是從N開始,應用一開始運行的時候,可能沒有已經編譯好的代碼,雖然N的解釋器比M快了不少,但和編譯好的代碼相比還是很慢的,這個時候JIT就需要回來了。
5,N的art確實比M的有更多優化,性能有所提高。
你確定這個問題能有人回答的了
IO開場看了直播,如果沒有記錯的話,大會上說的是用了一個新的圖形處理引擎還是怎麼招,是遊戲性能在用新引擎之後提升600%,也就是六倍
不敢亂說猜測而已虛擬機優化
我也一直在糾結,還以為是翻譯錯誤,嚇死我。
媒體沒聽懂,瞎寫的,標題博取眼球,n版本主要改進了ota升級速度和安裝軟體速度,運行速度幾乎跟m差不多
推薦閱讀:
※谷歌中國到底是獨立的公司,還是美國谷歌的一個辦公室、一個部門?
※以 Facebook 為代表的社交廣告和以 Google 為代表的精準廣告,主要區別在什麼地方,前景如何?
※Google 的 Android 部門怎麼盈利?這個部門有什麼直接的商業收入?
※如何評價2016谷歌開發者大會在中國的北京和上海召開?