原文鏈接:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html
Nimbledroid.com 為您開(kāi)發(fā)的應(yīng)用的每一版本提供自動(dòng)全面的性能分析
如何讓app快速啟動(dòng)總是讓人很頭疼思瘟,市面上現(xiàn)有的app啟動(dòng)速度有多快呢?下面就是我們對(duì)Google Play上排名前100的app的一個(gè)檢測(cè)結(jié)果飞蚓,看看我們有能發(fā)現(xiàn)什么?
背景:三種app啟動(dòng)的方式
現(xiàn)如今主要app的啟動(dòng)方式主要有三種: 初次啟動(dòng)、冷啟動(dòng)和熱啟動(dòng)。
初次啟動(dòng)顧名思義——就是用戶(hù)安裝完這個(gè)app后第一次打開(kāi)它友酱。初次啟動(dòng)是三種中最慢的,因?yàn)椴僮飨到y(tǒng)和app需要初始化很多數(shù)據(jù)柔纵,比如創(chuàng)建一個(gè)SQLite數(shù)據(jù)庫(kù)或者是把multidex文件編譯成本地代碼缔杉。與此同時(shí),初次啟動(dòng)也應(yīng)該是耗時(shí)越短越好搁料,但一般也就是在安裝或者升級(jí)app的時(shí)候會(huì)初次啟動(dòng)或详,所以持續(xù)測(cè)初次啟動(dòng)的時(shí)間并不是像測(cè)其他兩種啟動(dòng)那么重要系羞。
冷啟動(dòng)是即這個(gè)app很長(zhǎng)時(shí)間沒(méi)運(yùn)行了,然后用戶(hù)啟動(dòng)這個(gè)app霸琴。冷啟動(dòng)之所以“冷”是因?yàn)椴僮飨到y(tǒng)把不活躍的app從內(nèi)存中移除了好讓活躍的app有足夠內(nèi)存用椒振。冷啟動(dòng)比較慢是因?yàn)閍pp的代碼,資源文件和一些對(duì)象需要重新加載或者創(chuàng)建梧乘。如果用戶(hù)一天只打開(kāi)這個(gè)app幾次杠人,那么每次打開(kāi)就是冷啟動(dòng),所以冷啟動(dòng)時(shí)為了讓我們有更好的用戶(hù)體驗(yàn)宋下。
熱啟動(dòng)即用戶(hù)在切換到別的界面后很快又返回打開(kāi)這個(gè)app嗡善。這是app在內(nèi)存中仍然是“熱”的,所以熱啟動(dòng)速度一般很快学歧。
總而言之罩引,以上三種啟動(dòng)中,冷啟動(dòng)最影響用戶(hù)體驗(yàn)枝笨,轉(zhuǎn)化率最高袁铐,應(yīng)該是我們優(yōu)化app的重點(diǎn)領(lǐng)域。一下就是我們檢測(cè)這些app冷啟動(dòng)的情況横浑。
這排名前100的app冷啟動(dòng)情況怎樣呢剔桨?
我們選擇了Google Play上排名前100的非游戲類(lèi)app。Google play 是基于一系列基本的數(shù)據(jù)(如:下載速度徙融,性能洒缀,用戶(hù)評(píng)價(jià),在社交網(wǎng)絡(luò)中的流行度)進(jìn)行排名的欺冀,這些數(shù)據(jù)會(huì)隨時(shí)間經(jīng)常變動(dòng)树绩。我們的選的是2016年6月6日的排名,截至我們發(fā)稿時(shí)隐轩,我們持續(xù)分析了這些app饺饭。
我們剔除了游戲類(lèi)的app是因?yàn)橛脩?hù)對(duì)這類(lèi)app的啟動(dòng)速度顯得更寬容,因?yàn)樗麄冎烙螒蛞虞d大量圖片資源职车。我們也排除了我們暫不支持的app瘫俊,比如那些需要用戶(hù)銀行賬戶(hù)和信用卡信息的app(比如:Uber)。我們整理好的數(shù)據(jù)如下圖:
(注:查看前50名和前100名的Google Play排名及冷啟動(dòng)時(shí)間排名的結(jié)果悴灵,請(qǐng)移步原網(wǎng)站:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html)
在這些數(shù)據(jù)中包含一些很有意思的內(nèi)容扛芽。首先看看前25的app,有10款在2秒以?xún)?nèi)啟動(dòng)完成(包含2秒)称勋,20款在3秒以?xún)?nèi)啟動(dòng)完成(包含3秒)——這些都算啟動(dòng)很快的了胸哥。Instagram是啟動(dòng)最快的app之一,這也不奇怪赡鲜,由于Instagram擁有大量的開(kāi)發(fā)者去分析優(yōu)化這款app空厌。The Weather Channel和Snapchat 這2款app在Android 4.3的環(huán)境下啟動(dòng)是這些中最慢的庐船。
前50的app中,有22款在2秒以?xún)?nèi)啟動(dòng)完成(包含2秒)嘲更,40款在3秒以?xún)?nèi)啟動(dòng)完成(包含3秒)筐钟,Chromecast這款app僅用0.8秒,是其中最快的赋朦。令人意外的是The Weather Channel和Snapchat 這2款app仍然是這些中最慢的篓冲。
前100中,有39款app在2秒以?xún)?nèi)啟動(dòng)完成(包含2秒)宠哄,73款在3秒以?xún)?nèi)啟動(dòng)完成(包含3秒)壹将。
Chromecast 仍以0.8秒的成績(jī)奪冠。Magic Piano取代 Snapchat 和Weather Channel 以耗時(shí)11.1秒的成績(jī)車(chē)成為啟動(dòng)最慢的app毛嫉。
趨勢(shì)很明顯诽俯。排名靠前的app啟動(dòng)速度相對(duì)快 —— 40%在2秒內(nèi)啟動(dòng),70%在3秒內(nèi)啟動(dòng)承粤。這就是優(yōu)秀的開(kāi)發(fā)者會(huì)花費(fèi)時(shí)間努力優(yōu)化app的性能的原因暴区。
類(lèi)別分析
我們也把這些app按類(lèi)別進(jìn)行比較分析。我們按照app的主要功能進(jìn)行分類(lèi)辛臊。比如:Snapchat有發(fā)送不同文本信息的功能(能被歸類(lèi)為“消息”類(lèi)的app)仙粱,它主要像一個(gè)社交平臺(tái)一樣讓用戶(hù)可以像Facebook那樣實(shí)時(shí)分享經(jīng)驗(yàn)。我們整理的數(shù)據(jù)如下圖:
(注:查看應(yīng)用更多分類(lèi)彻舰,包括在線(xiàn)音樂(lè)伐割、通訊、購(gòu)物淹遵、社交媒體口猜、在線(xiàn)視頻负溪、設(shè)備優(yōu)化透揣、圖像編輯的Google Play排名及冷啟動(dòng)時(shí)間排名的結(jié)果,請(qǐng)移步原網(wǎng)站:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html)
音樂(lè)播放類(lèi)
音樂(lè)播放類(lèi)中,啟動(dòng)最快的是My Mixtapez川抡。Spotify以啟動(dòng)時(shí)間1.6秒(該類(lèi)app平均成績(jī)的一半)的成績(jī)緊隨其后辐真,Spinrilla是最慢的,耗時(shí)達(dá)到Mixtapez的7倍崖堤。
消息類(lèi)
WhatsApp是該類(lèi)中最快的侍咱,比該類(lèi)中最慢的GO SMS Pro快了接近4倍。FacebookMessenger也不出意外是市面上消息類(lèi)app啟動(dòng)最快的之一密幔,開(kāi)發(fā)團(tuán)隊(duì)規(guī)模中等的app比如 Kik 啟動(dòng)時(shí)間卻相當(dāng)長(zhǎng)楔脯,擁有更小團(tuán)隊(duì)開(kāi)發(fā)者的app 比如 Talkatone,GO SMS Pro啟動(dòng)速度更是極度緩慢胯甩。有意思的是那些在廣告中重點(diǎn)主打來(lái)電功能的app啟動(dòng)耗時(shí)更長(zhǎng)昧廷,全然不顧同類(lèi)的啟動(dòng)更快的app卻有同樣的功能堪嫂。
購(gòu)物類(lèi)
一般來(lái)說(shuō),排名靠前的購(gòu)物類(lèi)app比消息類(lèi)啟動(dòng)稍快木柬。電商們知道讓那些急于購(gòu)物的用戶(hù)快速地接觸到商品會(huì)給他們創(chuàng)造更多的收入皆串。eBay是迄今為止啟動(dòng)最快的購(gòu)物類(lèi)app,這也是因?yàn)閑Bay的app代碼中沒(méi)有海量的方法眉枕。所以它比該類(lèi)最慢的OfferUp大約快了2.5倍恶复。另一方面Groupon吹噓他們代碼中有同類(lèi)中最多的有問(wèn)題的方法。這些性能問(wèn)題部分原因是因?yàn)榇a中用了Roboguice這個(gè)庫(kù)來(lái)依賴(lài)注入速挑。方便的解決之道是用Dagger這個(gè)庫(kù)來(lái)替代Roboguice谤牡。
社交類(lèi)
毫無(wú)懸念的是 Instagram是該類(lèi)中啟動(dòng)最快的app。正如前面提到的Instagram 的開(kāi)發(fā)者們?cè)谶^(guò)去的一年里特別注重啟動(dòng)耗時(shí)的優(yōu)化姥宝,這也讓他們的勞有所獲拓哟。Instgram 啟動(dòng)速度比該類(lèi)的最慢的Snapchat快了4倍。這還是很讓人吃驚的——我們以為流行的app啟動(dòng)都會(huì)比較快伶授,然而Snapchat是個(gè)例外断序。
視頻播放類(lèi)
我們驚訝地發(fā)現(xiàn)Youtube和Youtube Kids這兩款app啟動(dòng)耗時(shí)的不同。我們的分析發(fā)現(xiàn)Youtube Kids是在一些依賴(lài)上耗時(shí)更多糜烹,這些連帶著別的實(shí)現(xiàn)上的限制會(huì)花更多時(shí)間违诗,這也解釋了二者在啟動(dòng)耗時(shí)上的不同。
設(shè)備優(yōu)化類(lèi)
考慮到這類(lèi)app主打的就是設(shè)備加速功能疮蹦,我們希望這類(lèi)的app能快速啟動(dòng)诸迟,Z Speed+是該類(lèi)中啟動(dòng)最快的,比DU Battery Saver快了0.2秒愕乎。這比該類(lèi)的最慢的app(DU Speed Booster & Antivirus)快了接近3倍阵苇。
相片編輯類(lèi)
相片編輯類(lèi)軟件在移動(dòng)端非常流行,因?yàn)橛脩?hù)喜歡在分享他們和朋友的照片之前做一些潤(rùn)色感论、修改绅项。Photo Grid 啟動(dòng)速度極快,啟動(dòng)只需要1.1秒比肄。它比啟動(dòng)耗時(shí)恐怖的達(dá)8.8秒的Photo Editor Pro快了足足8倍快耿。
總結(jié)
我們注意到一個(gè)有趣的現(xiàn)象,那就是那些名字里包含“Pro”(如:Photo Editor Pro 和 GO SMS Pro)的app通常是同類(lèi)中的啟動(dòng)速度最慢的app之一芳绩。僅僅說(shuō)自己的app好還遠(yuǎn)遠(yuǎn)不夠——你還必須向用戶(hù)證明你的app能表現(xiàn)地很好掀亥。
總而言之,排名靠前的app(除了少數(shù)的異類(lèi))啟動(dòng)速度是相當(dāng)快的妥色。我們?cè)僭趺磸?qiáng)調(diào)app的啟動(dòng)耗時(shí)也不為過(guò)搪花,因?yàn)檫@是讓這些app如此成功的重要組成部分。優(yōu)秀的開(kāi)發(fā)者仍然在殫精竭慮地希望能讓他們的app啟動(dòng)更快,想成為一個(gè)偉大的開(kāi)發(fā)者撮竿,你也應(yīng)該朝著這個(gè)方向努力丁稀。