顯示廣告
隱藏 ✕
※ 本文為 MindOcean 轉寄自 ptt.cc 更新時間: 2013-11-26 14:18:09
看板 MobileComm
作者 Masini1491 (Masini)
標題 [閒聊] Android KitKat,可能會讓iOS不寒而慄?
時間 Mon Nov 25 12:23:27 2013


原文是簡體字.已轉成繁體字了
------------------------------------

波瀾不驚的Android KitKat,可能會讓iOS不寒而慄?
http://www.36kr.com/p/207701.html




http://a.36krcnd.com/photo/d6f8cfe475ca3b641230e3d7c84c0d95.png
[圖]
 
編者按:本文來自Erwin Huang投稿,現就讀于佛羅里達大學(UF),研究生商學院,資訊
系統與運營管理專業(IT方向),Android軟體發展愛好者,嘗試用更加淺顯的方式向普
通用戶解釋Android的演變方向,由於作者並非電腦專業出身,對技術的理解可能有偏差
,歡迎交流指正,huangzhong.erwin@gmail.com。



也許人們在得知 Google 新發佈的 Android 系統版本名稱為 4.4 時都不以為然,認為這
個升級十分微不足道,只升級了 0.1 的版本號,啟用了 KitKat 的新代號而已。就算是
 Google 官方,對待此次升級也是頗為低調。可是如果瞭解了Android 4.4所暗示的變化
時,我覺得所有 Android 開發者和其他利益相關者都必須打起十二分精神對看待

 Android 4.4 了。

當官方發佈 Android KitKat 4.4 時,我簡單流覽了一下 Google+ 上官方帳戶發佈的對
該系統的簡介,覺得值得關注的只有兩點:1)對記憶體的需求降低了,2)支持更多的
 Sensor。綜合起來,就是為可穿戴設備開路。確實沒有更多的亮點可言,只是順應了大
的發展方向而已。隨後我圖個性價比,預定了Nexus 5,到手試用後第一感覺是“物美價
廉”,對系統本身沒有太大的感覺。


後來為了進行開發測試,我打開了“開發者模式”,其中有一個選項引起了我的注意,叫
“選擇運行時環境”,這是之前版本都沒有的選項,可選項有 Dalvik 和 ART(默認是
 Dalvik),Dalvik 即 Android 一直以來使用的運行方式。為了弄明白這到底是個什麼
東西,我試著在 Google 上搜了一下,直接改變了我對 4.4 版本存在意義的看法。

簡單地說,就是 Android 程式運行的根本機制改變了,程式會啟動地更快,而且會更省
資源。表現在用戶體驗上,就是 Android 更流暢了,同時續航能力顯著增加。這種變化
不是小打小鬧,而是非常可觀的大變化,根據AndroidPolicy上專項文章的說法,這個改
變可以讓部分 Android 程式的啟動加速 50%,理論上待機時間也會顯著增加。


根據該文後一些“小白鼠”們的評論,他們在試用了 ART 運行模式後,都體會到了其帶
來的速度提升和續航提升,而且效果非常明顯。這說明這個尚處在實驗階段的 ART 模式
已經能夠帶來明顯的好處,唯一不足的是,作為 Beta 版,穩定性欠佳。


眾所周知,Android 是基於 Java 語言的,iOS 是基於 Obejctive-C。表現在手機和應用
程式運行機制上,Java 的代碼實際上需要兩次“轉換”才能最終以用戶可看的程式跑起
來,一次發生在開發者發佈安裝包前,使用開發者自己機器的 CPU,另一次在用戶啟動

 APP 前,使用手機的 CPU。而基於 Objective-C 的代碼只需要一次這種“轉換”,在開

發者發佈安裝包前,所以只佔用開發者機器的 CPU 時間。

我們假設同樣代碼量的程式,需要同樣多的 CPU 時間,進行從代碼到最終能跑的“轉換
”。那麼把這種工作全部放在了開發者的機器上進行的 iOS 顯然就更具優勢,因為用戶
在打開 APP 之前不需要再浪費時間進行“轉換”,這部分時間由開發者“忍受”了。而
 Android 程式啟動相對較慢就是因為第二次“轉化”需要在打開程式時進行引起的。這
兩種機制是歷史的產物,總體上不能說誰好誰壞,只有適用範圍的問題。考慮到手機屬於
體驗要求比較高的設備,顯然 iOS 這種機制更合適。所以這兩種機制帶來的後果就是,
iOS 總是比 Android 快,而且是天生的。


現在 ART 的出現代表了什麼?代表了 Android 在啟動程式時將像 iOS 一樣,無須進行
第二次“轉換”工作了。ART 把第二次“轉換”所要使用的時間放在“程式安裝時”進行
,而不再是“程式啟動時”進行。這樣做雖然安裝程式時要慢一點,但是在使用時就會明
顯快起來。按我的淺薄理解,就是把以前每次啟動程式都要做的工作改成“一次性”的工
作,放在用戶不那麼在乎的安裝時完成。這從長期來看也降低了總體的“轉換”時間。


試想一個程式,安裝後你使用了 N 次。按原先 Dalvik 的方法(術語叫 Just-in-time
compilation),N 次啟動就需要進行 N 次這樣的“轉換”。但是按照 ART 的方法(術
語叫 Ahead-of-time compilation),不管這個程式你使用幾次,都只發生一次“轉換”
。這也解釋了為什麼使用 ART 會降低 CPU 的使用頻率,進而降低電量的使用。


當然,ART 也會帶來其他的負面影響。其一是增加程式安裝所需的時間,只是目前還不知
道具體會是多少。考慮到其他技術因素,這個時長的增加可能比我為了講解方便所舉的“
第二次轉換”所需的時長要長一點,但是肯定不會長到無法忍受的地步。據我查到的資料
,這個變化對小程式幾乎可以忽略不計,受影響的應該是以遊戲為主的程式,因為他們本
身代碼量就更大。不過這跟你獲得的收益也是成正比的,因為 ART 可以讓你在打開遊戲
時省更多的時間。如果將來都是“後臺安裝”的話,對用戶體驗更是微乎其微,你去看幾
個新聞這時間就過去了。


第二個缺點是會使安裝後的檔佔用更多的空間,據稱是 10%-20% 的增長。不過不要緊,
這個增長指的是對“代碼”部分檔的增加,比如一個 100M 的遊戲,可能代碼只有 20M,
剩下 80M 是圖片和音樂等檔,所以即便增加 20% 的安裝所需空間,也只不過多了 4M 而
已,在動輒 16G,32G,甚至 128G 容量的智慧手機面前,影響更是微乎其微。


據我瞭解,ART 這個項目其實在 2 年前就已經開始了,只不過之前一直不受關注,只有
零星的報導,畢竟“計畫不等於現實”嘛。可是現在 Android 4.4 版本以“開發者預覽
”的形式將其呈現出來,目的就是讓手機廠商、應用開發者等進行測試,從而幫助該專案
進行改進。從我得到的資訊來看,ART 的穩定性並不差,完全可以勝任日常使用。


這也是為什麼我會說,Android 4.4 的 ART 選項可能預示著 Android 5.0 系統會出現重
大改變——徹底從Dalvik轉換到ART。如果真的是這樣的話,iOS 開發人員和其用戶所引
以為傲的流暢體驗將不再是一個值得炫耀的東西,因為這種體驗將隨著登陸 Android 平
臺變得“大眾化”,再加上 Android 市場佔有率的巨大優勢、Google Play 商店的崛起
,iOS 設備還能靠什麼支撐自己的高價策略?



--------------------------------------

簡單地說,就是 Android 程式運行的根本機制改變了,程式會啟動地更快,而且會更省
資源。表現在用戶體驗上,就是 Android 更流暢了,同時續航能力顯著增加。

--

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.161.92.120
ctx705f     :靠那個MARK阿1F 11/25 12:28
mullin1453  :APPLE:挖鼻孔2F 11/25 12:29
OscarShih   :APPLE:彈鼻屎3F 11/25 12:30
w3160828    :..4.4我還沒收到更新耶 是有什麼問題嗎 4.3都沒那麼4F 11/25 12:31
XperiaArcS  :今天好冷5F 11/25 12:31
james732    :也就是說在安裝的時候,就把bytecode變成native code6F 11/25 12:32
james732    :這樣的意思嗎?
ErnestKou   :這篇一定會有iso8F 11/25 12:34
OscarShih   :樓下iso9F 11/25 12:34
shyshyan    :出到5.0再換手機好了 XD10F 11/25 12:37
ducamao     :軟體部分來說android廠商的更進速度非常慢...除了and11F 11/25 12:39
ducamao     :roid限定的軟體(mx player、有付費軟體)所以就算4.
ducamao     :4改變了,卻得等上三個月以上才有成熟的環境
zx3393      :這篇未達成成就14F 11/25 12:40
ducamao     :而且oem廠商對手機的更新多半局限在高階機種,所以想15F 11/25 12:42
ducamao     :要得到和ios相等的能力至少也要花和iphone相當的價
ducamao     :格,不然就是得等廠商推新版低階機(但是改變不了高
ducamao     :效能遊戲會lag的事實
OscarShih   :嘛, 4.1超過2.3也沒多久的事..就再等一次?19F 11/25 12:49
OscarShih   :其實現狀也沒什麼不好, 就再更好而已
WMX         :是蠻希望真的像他說得這麼好。那我就會轉回用android21F 11/25 12:53
raygod      :從2.3喊到現在也沒啥改變…22F 11/25 12:57
naive10     :爽拉 電爆iOS23F 11/25 13:01
jumbotest   :我覺得IOS順暢進步不大,但每代安卓旗艦出來都有人說24F 11/25 13:02
jumbotest   :順暢媲美IOS
WMX         :Android解決順暢度及愈用愈慢的問題,功能比iOS豐富多26F 11/25 13:04
a9564208    :已更新4.4,ART要在哪邊調啊?27F 11/25 13:07
james732    :開發人員選項→選取執行階段 (修改後要重新開機)28F 11/25 13:10
OscarShih   :現在安卓旗鑑的確和ip5s順暢度沒差多少阿29F 11/25 13:11
OscarShih   :坦白說60fps以上就分不出來了
ErnestKou   :反正某些人眼裡就是iOS最順,其他都沒一個能打的31F 11/25 13:13
james732    :應該可以期待這個功能會在Android 5之後成熟XD32F 11/25 13:14
james732    :無論如何,沒人在嫌手機太順的XDDD
w113353     :所以現在的android機非4.4 勿買XD?34F 11/25 13:15
OscarShih   :不見得吧,看你手機買來做啥的35F 11/25 13:17
OscarShih   :總不會看個片上個網聽個音樂打個LINE到5.0變飛天XD
james732    :除了順暢,節省記憶體也很重要啊XD37F 11/25 13:18
OscarShih   :節省記憶體你是要那些DRAM廠再收幾家嗎XD38F 11/25 13:19
OscarShih   :一樣花22K價格,當然是愈多愈好XD
james732    :至少OEM廠會很快樂XD40F 11/25 13:21
james732    :希望Android只要512MB就能順暢的時代能來到...
OscarShih   :512要OS順有什麼難事,問題是上個網就炸掉,iOS都一樣42F 11/25 13:22
rexagi1988  :512跑本身的系統能順暢,可是那些肥滋滋的APP裝下去?43F 11/25 13:22
james732    :就看這個技術有沒有機會讓APP的載入記憶體變小囉....44F 11/25 13:24
james732    :不然我要一隻超順暢的空手機幹嘛XD
OscarShih   :APP本身記憶體變小,但臉書網頁那一堆圖片沒辦法阿XD46F 11/25 13:26
OscarShih   :隨便連個mobile01, 100MB就消失了XD
tcj7838     :召喚isoxxxxx       (反正也是一副不以為然的感覺吧)48F 11/25 13:27
ganbee      :改ART真的很多,前天剛拿到nexus5,玩了一下手機就轉49F 11/25 13:28
ganbee      :ART,執行APP的速度差好多,建議最近要換手機的,最好確
ganbee      :定廠商會升到4.4再買,不然等於是拿高階低效能手機.
iOSfan      :不但不含而立 還讓你大吃一莖52F 11/25 13:31
shyshyan    :升4.4的我猜SONY HTC SAMSUNG 跟NEXUS才OK53F 11/25 13:32
Ricrollp    :安卓最大的問題是用久以後會變慢 這部分能解決嗎?54F 11/25 13:33
Ricrollp    :如果這個模式能夠不用再綁定金山 那真的是很大的優勢
Rong13      :我朋友用我的雞婆也嚇到 因為他以前用的安卓機都不56F 11/25 13:35
Rong13      :順
XXLKFC      :4.0以後的安卓好很多,2.x的時代真的讓很多人留下不58F 11/25 13:37
XXLKFC      :好印象...家人用完Desire都直接跳槽iphone了...
naive10     :iso大好像只有晚上會回而已60F 11/25 13:40
p122607     :IOS系統 512MB  過陣子也是悲劇啦 之前ipad1 256MB61F 11/25 13:41
p122607     :剛拿到超順 後來改版後 慘不忍睹
p122607     :現在ipad air 1G記憶體有時也還會閃退 記憶體不管哪
p122607     :個系統 沒有在嫌多的啦
MiGar       :推樓上 真的沒有人再嫌記憶體多的65F 11/25 13:45
tcj7838     :iso白天還是會回吧!畢竟前幾篇才有他發的文而已66F 11/25 13:45
OscarShih   :人家也要工作, 哪是隨喚隨到XD67F 11/25 13:47
a9564208    :nexus7似乎找不到開發者選項o_O68F 11/25 13:51
ErnestKou   :N7好像要在哪個地方點七下我忘記了XD69F 11/25 13:53
Neet        :如果是2012的N7的話沒有ART喔,目前4.4的ART只有開70F 11/25 13:57
Neet        :放給用高通CPU機子
ErnestKou   :已哭72F 11/25 14:04
ww1234528   :4.2還沒更新欸,什麼時候才更新到4.4啊??73F 11/25 14:21
Masini1491  :Android 4.3主要就是修正用久會變慢的問題74F 11/25 14:29
ErrethAkbe  :HTC的512m一直都調校的很好,比原生強多了75F 11/25 14:31
danny789    :512MB記憶體是為穿帶式裝置鋪路,怎麼會講到手機去?76F 11/25 14:36
danny789    :GOOGLE現在的策略就是一套OS給所有裝置使用這樣維護
danny789    :OS才能降低成本及風險(WINDOWS是反例)
joiedevivre :iso: 沒差iPhone很順還是大賣 電爆安卓79F 11/25 14:41
Zodiac10    :不含而立>//////<80F 11/25 14:46
cash35      :作者最後一段的問題 可參考現在的Mac市場跟客群81F 11/25 14:49
cash35      :以筆電來看 現在一堆兩萬很堪用的Windows筆電
cash35      :Mac雖然也是降價很多了 但整體還是比較高價一點
cash35      :Apple是玩市場區隔的高手 雖然5C失手XD
oherman     :IOS同樣的程式明顯比android肥很多,是以空間換時間85F 11/25 14:56
danny789    :5C算不算失手還很難說,後續機種的市場區隔會更明顯86F 11/25 14:58
Simman      :100鎂對買得起旗艦機的族群根本是一塊蛋糕,好歹也少87F 11/25 14:59
Simman      :150~200鎂市場區隔才會出來.
Simman      :不過5c作為犧牲打是蠻成功的,免得5s陷入去年ipad4賣
Simman      :輸mini的窘境.
SDUM        :5C -->最後一代用32bit的iphone --> 孤兒可能性很高91F 11/25 15:00
cash35      :去年13吋的MBPR也是失手 發售以後緊急調整售價92F 11/25 15:00
cash35      :今年新款MBPR更是把規格再調降 再進一步降價
cash35      :變成跟MBA相比更有區隔和競爭力的商品
cash35      :5C如果規格比照5S,差在指紋功能和補光燈的話
cash35      :跟5S保持3000的價差會有吸引力許多
cash35      :現在5C的問題是它跟5S比 價差不大但規格差很大
cash35      :即使是最不在乎的果粉也不會買單的....
WMX         :Iso哥沒有分靈嗎?沒看到他很難過!99F 11/25 16:56
cowranch    :再強logo還是輸100F 11/25 17:17
isoxxxxx    :鍵盤不寒而慄呵呵 從2.3開始每一代都說比iOS順 結果101F 11/25 21:31
isoxxxxx    :也沒看過哪支真的順過iOS了 頂多滑桌面可以比而已 執
isoxxxxx    :行同樣程式還是輸給iOS啊 而且android還會越用越慢
isoxxxxx    :然後又要怪使用者亂安裝app導致系統拖累 頗呵
isoxxxxx    :然後更重要的一點是 全世界根本沒幾台可以升4.4 要升
isoxxxxx    :級還要看廠商施捨 跟變順也就更無緣啦
AndyZer     :科科 我唉配都閃退到不行了 還順107F 11/25 21:44
kiioo       :蘋果施捨給你的新版ios讓你唉鳳4   頓頓頓108F 11/25 22:18
onlome      :iso拜託強一點 4.4只是開始 還是你只看現在?109F 11/25 22:28
isoxxxxx    :拜託 每版都說要開始比iOS順 每版都沒達成過啊110F 11/25 22:39
isoxxxxx    :想當年好像還有一個什麼奶油計劃 結果還不是卡卡卡
rabbitpei   :等5.0普及應該剛好可以換手機,期待0w0112F 11/25 22:44
ww5555      :IOS順啊~如果IOS不順的話還有什麼點可以贏安卓XD113F 11/25 22:47
isoxxxxx    :先解決app灌多了系統會變慢的問題在來說順吧XD114F 11/25 23:03
kblover     :APP慣多了系統會頓這種久遠故事還在提阿zzzz115F 11/25 23:28
oceanboy0329:拜讀樓主好文!希望4.4的ART能趕快普及並穩定化116F 11/26 00:26
oceanboy0329:話說我的ipad mini玩遊戲都頓的要命= =別再神話了
onlome      :愛索難道沒看內文只是重複在一個論點打轉嗎xd118F 11/26 00:42
p40403      :APP灌多4.3 TRIM已解決119F 11/26 01:15
Analogue    :過去歷史的確欠酸,但可以用用看N5的ART runtime120F 11/26 10:18

--
※ 看板: CPLife 文章推薦值: 0 目前人氣: 0 累積人氣: 996 
※ 本文也出現在看板: abc1231qa sayumiQ
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇