Blogtrottr
批踢踢實業坊 MobileComm 板
 
[閒聊] Android KitKat,可能會讓iOS不寒而慄?
Nov 25th 2013, 12:23, by Masini1491

作者Masini1491 (Masini)

看板MobileComm

標題[閒聊] 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

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 gyyci33a17tqf 的頭像
    gyyci33a17tqf

    繼承者們線上看, 繼承者們劇情, 繼承者們演員, 繼承者們13, 繼承者們插曲, 繼承者們15, 繼承者們14, 繼承者們 ost, 繼承者們 維基, 繼承者們第13集

    gyyci33a17tqf 發表在 痞客邦 留言(0) 人氣()