[討論] Re: U11安裝程式很慢 (解答為何更新耗時久)
算正常。
為何App更新耗時很久?
首先,原PO說的很久 是真的久 久得像手機秀逗了。遇見的人都會TMD幹,秒下的更新檔也能搞個過一分鐘。
不過這不是戲說台灣 也不是下列的安裝過程本身:-
5.0前的dalvik bytecode生成 耗時中等;
5.0+的ART native 原生碼 耗時長;
7.0的ART native+bytecode混合 耗時短。
只生成main()與核心部分,其餘部分靠記錄你使用頻率後充電時補上。
這款慢,究因是Google去年12月搞出來的File-by-File patching。
當初說只發給晚上睡覺充電中運行自動更新的手機。 但前幾個月就出現一些手機手動更新時,估計又在玩AB test。順道收集一些實際部署資料做analytics,若遇見它哪怕是Pixel也一樣喊倒霉。
Google從2012年起啟用打補丁方式節省APK更新的傳輸量, 簡單說就是拿一個app新版本與舊版本(你手機上的版本)比對並找出差異(delta),只傳輸給你差異部分,再由你手機上既有APK和新取得delta拼湊成新APK後安裝。
Google去年7月左右先推出相比下效率比之前使用的演算法更優秀47%的bsdiff。
12月進一步推出File-by-File patching。它的優點是平均能省上65趴左右的更新檔大小,有些範本更達到95趴。缺點是耗時耗運算。
下完後要先解壓手機上的既有APK(zip檔),再拿更新檔送來的bsdiff算出的個別文件delta針對有改動過的文件打補丁,壓縮回APK,再跑hash驗證。據Google說這過程[15年後手機]是以每秒1MB的速度在運行的。他們分析得出更新檔傳輸量減半,打補丁耗時則增一倍。
這就是更新檔下載完後為何會卡在100%許久的原因。其實你是被挑中的幸運兒,有幸參與實驗。
重點是每天能幫用戶省6 PetaBytes (也幫Google自己稍稍減負擔)。
畢竟要應付20億人數的Android每月活躍用戶, Google相簿每天新增12億張新照片。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.51.11.104
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1496536659.A.920.html
推 iem2000 : 專業推,我硬體的,軟體的不懂 ??? 06/04 08:40
推
06/04 08:41, , 1F
06/04 08:41, 1F
推
06/04 08:50, , 2F
06/04 08:50, 2F
推
06/04 08:52, , 3F
06/04 08:52, 3F
推
06/04 08:53, , 4F
06/04 08:53, 4F
推
06/04 09:02, , 5F
06/04 09:02, 5F
推
06/04 09:11, , 6F
06/04 09:11, 6F
推
06/04 09:20, , 7F
06/04 09:20, 7F
推
06/04 09:25, , 8F
06/04 09:25, 8F
→
06/04 09:25, , 9F
06/04 09:25, 9F
推
06/04 09:29, , 10F
06/04 09:29, 10F
推
06/04 09:32, , 11F
06/04 09:32, 11F
→
06/04 09:32, , 12F
06/04 09:32, 12F
實習生是把brotli移植給商店用 這是傳輸時的壓縮像gzip 我在原帖原也誤判成它
推
06/04 09:32, , 13F
06/04 09:32, 13F
推
06/04 09:34, , 14F
06/04 09:34, 14F
推
06/04 09:37, , 15F
06/04 09:37, 15F
推
06/04 09:44, , 16F
06/04 09:44, 16F
→
06/04 09:44, , 17F
06/04 09:44, 17F
推
06/04 09:45, , 18F
06/04 09:45, 18F
這篇標題太長 我有拿掉原標題兩個字
推
06/04 09:53, , 19F
06/04 09:53, 19F
推
06/04 10:01, , 20F
06/04 10:01, 20F
推
06/04 10:18, , 21F
06/04 10:18, 21F
推
06/04 10:28, , 22F
06/04 10:28, 22F
我也當過一陣子衰衰幸運兒 後來不知怎地不愛我了
推
06/04 10:38, , 23F
06/04 10:38, 23F
推
06/04 10:43, , 24F
06/04 10:43, 24F
推
06/04 10:47, , 25F
06/04 10:47, 25F
※ 編輯: mainline (60.51.11.104), 06/04/2017 10:48:38
※ 編輯: mainline (60.51.11.104), 06/04/2017 10:50:07
※ 編輯: mainline (60.51.11.104), 06/04/2017 10:52:46
推
06/04 10:54, , 26F
06/04 10:54, 26F
→
06/04 10:54, , 27F
06/04 10:54, 27F
不曉得呢 認為值得試的只有清商店的資料 畢竟只考你耐性 不知道他們是怎麼隨機挑的 若記錄在伺服器認android id的話 無解
推
06/04 10:54, , 28F
06/04 10:54, 28F
推
06/04 10:56, , 29F
06/04 10:56, 29F
推
06/04 10:57, , 30F
06/04 10:57, 30F
推
06/04 10:58, , 31F
06/04 10:58, 31F
→
06/04 10:58, , 32F
06/04 10:58, 32F
→
06/04 10:59, , 33F
06/04 10:59, 33F
→
06/04 10:59, , 34F
06/04 10:59, 34F
※ 編輯: mainline (60.51.11.104), 06/04/2017 11:01:17
推
06/04 11:07, , 35F
06/04 11:07, 35F
→
06/04 11:13, , 36F
06/04 11:13, 36F
→
06/04 11:16, , 37F
06/04 11:16, 37F
→
06/04 11:16, , 38F
06/04 11:16, 38F
同覺得不太可能認aid 沒必要搞那麼死 不過factory reset就會是新aid喔
推
06/04 11:25, , 39F
06/04 11:25, 39F
※ 編輯: mainline (60.51.11.104), 06/04/2017 11:33:03
推
06/04 11:35, , 40F
06/04 11:35, 40F
推
06/04 11:35, , 41F
06/04 11:35, 41F
推
06/04 11:37, , 42F
06/04 11:37, 42F
推
06/04 11:43, , 43F
06/04 11:43, 43F
推
06/04 12:14, , 44F
06/04 12:14, 44F
推
06/04 12:20, , 45F
06/04 12:20, 45F
→
06/04 12:20, , 46F
06/04 12:20, 46F
蛤 罰你重看
→
06/04 12:23, , 47F
06/04 12:23, 47F
→
06/04 12:23, , 48F
06/04 12:23, 48F
推
06/04 12:30, , 49F
06/04 12:30, 49F
推
06/04 12:44, , 50F
06/04 12:44, 50F
推
06/04 13:01, , 51F
06/04 13:01, 51F
※ 編輯: mainline (60.51.11.104), 06/04/2017 13:06:09
推
06/04 13:09, , 52F
06/04 13:09, 52F
→
06/04 13:10, , 53F
06/04 13:10, 53F
→
06/04 13:45, , 54F
06/04 13:45, 54F
有種不人道但省流量的安裝方式被水鬼谷歌挑替身拿來做實驗
→
06/04 13:47, , 55F
06/04 13:47, 55F
推
06/04 13:48, , 56F
06/04 13:48, 56F
→
06/04 13:48, , 57F
06/04 13:48, 57F
※ 編輯: mainline (60.51.11.104), 06/04/2017 14:15:02
推
06/04 14:22, , 58F
06/04 14:22, 58F
推
06/04 15:16, , 59F
06/04 15:16, 59F
推
06/04 17:03, , 60F
06/04 17:03, 60F
推
06/04 18:47, , 61F
06/04 18:47, 61F
→
06/04 23:33, , 62F
06/04 23:33, 62F
推
06/05 23:08, , 63F
06/05 23:08, 63F
→
06/05 23:09, , 64F
06/05 23:09, 64F