http://wiki.jikexueyuan.com/project/geekdigest/images/coldstart.png" alt="" />
原文鏈接:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html
Nimbledroid.com 為您開發(fā)的應(yīng)用的每一版本提供自動(dòng)全面的性能分析
如何讓app快速啟動(dòng)總是讓人很頭疼,市面上現(xiàn)有的app啟動(dòng)速度有多快呢?下面就是我們對(duì)Google Play上排名前100的app的一個(gè)檢測結(jié)果,看看我們有能發(fā)現(xiàn)什么?
現(xiàn)如今主要app的啟動(dòng)方式主要有三種: 初次啟動(dòng)、冷啟動(dòng)和熱啟動(dòng)。
初次啟動(dòng)顧名思義——就是用戶安裝完這個(gè)app后第一次打開它。初次啟動(dòng)是三種中最慢的,因?yàn)椴僮飨到y(tǒng)和app需要初始化很多數(shù)據(jù),比如創(chuàng)建一個(gè)SQLite數(shù)據(jù)庫或者是把multidex文件編譯成本地代碼。與此同時(shí),初次啟動(dòng)也應(yīng)該是耗時(shí)越短越好,但一般也就是在安裝或者升級(jí)app的時(shí)候會(huì)初次啟動(dòng),所以持續(xù)測初次啟動(dòng)的時(shí)間并不是像測其他兩種啟動(dòng)那么重要。
冷啟動(dòng)是即這個(gè)app很長時(shí)間沒運(yùn)行了,然后用戶啟動(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)建。如果用戶一天只打開這個(gè)app幾次,那么每次打開就是冷啟動(dòng),所以冷啟動(dòng)時(shí)為了讓我們有更好的用戶體驗(yàn)。
熱啟動(dòng)即用戶在切換到別的界面后很快又返回打開這個(gè)app。這是app在內(nèi)存中仍然是“熱”的,所以熱啟動(dòng)速度一般很快。
總而言之,以上三種啟動(dòng)中,冷啟動(dòng)最影響用戶體驗(yàn),轉(zhuǎn)化率最高,應(yīng)該是我們優(yōu)化app的重點(diǎn)領(lǐng)域。一下就是我們檢測這些app冷啟動(dòng)的情況。
我們選擇了Google Play上排名前100的非游戲類app。Google play 是基于一系列基本的數(shù)據(jù)(如:下載速度,性能,用戶評(píng)價(jià),在社交網(wǎng)絡(luò)中的流行度)進(jìn)行排名的,這些數(shù)據(jù)會(huì)隨時(shí)間經(jīng)常變動(dòng)。我們的選的是2016年6月6日的排名,截至我們發(fā)稿時(shí),我們持續(xù)分析了這些app。
我們剔除了游戲類的app是因?yàn)橛脩魧?duì)這類app的啟動(dòng)速度顯得更寬容,因?yàn)樗麄冎烙螒蛞虞d大量圖片資源。我們也排除了我們暫不支持的app,比如那些需要用戶銀行賬戶和信用卡信息的app(比如:Uber)。我們整理好的數(shù)據(jù)如下圖:
http://wiki.jikexueyuan.com/project/geekdigest/images/coldstart1.png" alt="" />
(注:查看前50名和前100名的Google Play排名及冷啟動(dòng)時(shí)間排名的結(jié)果,請移步原網(wǎng)站:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html)
在這些數(shù)據(jù)中包含一些很有意思的內(nèi)容。首先看看前25的app,有10款在2秒以內(nèi)啟動(dòng)完成(包含2秒),20款在3秒以內(nèi)啟動(dòng)完成(包含3秒)——這些都算啟動(dòng)很快的了。Instagram是啟動(dòng)最快的app之一,這也不奇怪,由于Instagram擁有大量的開發(fā)者去分析優(yōu)化這款app。The Weather Channel和Snapchat 這2款app在Android 4.3的環(huán)境下啟動(dòng)是這些中最慢的。
前50的app中,有22款在2秒以內(nèi)啟動(dòng)完成(包含2秒),40款在3秒以內(nèi)啟動(dòng)完成(包含3秒),Chromecast這款app僅用0.8秒,是其中最快的。令人意外的是The Weather Channel和Snapchat 這2款app仍然是這些中最慢的。
前100中,有39款app在2秒以內(nèi)啟動(dòng)完成(包含2秒),73款在3秒以內(nèi)啟動(dòng)完成(包含3秒)。 Chromecast 仍以0.8秒的成績奪冠。Magic Piano取代 Snapchat 和Weather Channel 以耗時(shí)11.1秒的成績車成為啟動(dòng)最慢的app。
趨勢很明顯。排名靠前的app啟動(dòng)速度相對(duì)快 —— 40%在2秒內(nèi)啟動(dòng),70%在3秒內(nèi)啟動(dòng)。這就是優(yōu)秀的開發(fā)者會(huì)花費(fèi)時(shí)間努力優(yōu)化app的性能的原因。
我們也把這些app按類別進(jìn)行比較分析。我們按照app的主要功能進(jìn)行分類。比如:Snapchat有發(fā)送不同文本信息的功能(能被歸類為“消息”類的app),它主要像一個(gè)社交平臺(tái)一樣讓用戶可以像Facebook那樣實(shí)時(shí)分享經(jīng)驗(yàn)。我們整理的數(shù)據(jù)如下圖:
http://wiki.jikexueyuan.com/project/geekdigest/images/coldstart2.png" alt="" />
(注:查看應(yīng)用更多分類,包括在線音樂、通訊、購物、社交媒體、在線視頻、設(shè)備優(yōu)化、圖像編輯的Google Play排名及冷啟動(dòng)時(shí)間排名的結(jié)果,請移步原網(wǎng)站:http://blog.nimbledroid.com/2016/02/17/cold-start-times-of-top-apps.html)
音樂播放類中,啟動(dòng)最快的是My Mixtapez。Spotify以啟動(dòng)時(shí)間1.6秒(該類app平均成績的一半)的成績緊隨其后,Spinrilla是最慢的,耗時(shí)達(dá)到Mixtapez的7倍。
WhatsApp是該類中最快的,比該類中最慢的GO SMS Pro快了接近4倍。FacebookMessenger也不出意外是市面上消息類app啟動(dòng)最快的之一,開發(fā)團(tuán)隊(duì)規(guī)模中等的app比如 Kik 啟動(dòng)時(shí)間卻相當(dāng)長,擁有更小團(tuán)隊(duì)開發(fā)者的app 比如 Talkatone,GO SMS Pro啟動(dòng)速度更是極度緩慢。有意思的是那些在廣告中重點(diǎn)主打來電功能的app啟動(dòng)耗時(shí)更長,全然不顧同類的啟動(dòng)更快的app卻有同樣的功能。
一般來說,排名靠前的購物類app比消息類啟動(dòng)稍快。電商們知道讓那些急于購物的用戶快速地接觸到商品會(huì)給他們創(chuàng)造更多的收入。eBay是迄今為止啟動(dòng)最快的購物類app,這也是因?yàn)閑Bay的app代碼中沒有海量的方法。所以它比該類最慢的OfferUp大約快了2.5倍。另一方面Groupon吹噓他們代碼中有同類中最多的有問題的方法。這些性能問題部分原因是因?yàn)榇a中用了Roboguice這個(gè)庫來依賴注入。方便的解決之道是用Dagger這個(gè)庫來替代Roboguice。
毫無懸念的是 Instagram是該類中啟動(dòng)最快的app。正如前面提到的Instagram 的開發(fā)者們在過去的一年里特別注重啟動(dòng)耗時(shí)的優(yōu)化,這也讓他們的勞有所獲。Instgram 啟動(dòng)速度比該類的最慢的Snapchat快了4倍。這還是很讓人吃驚的——我們以為流行的app啟動(dòng)都會(huì)比較快,然而Snapchat是個(gè)例外。
我們驚訝地發(fā)現(xiàn)Youtube和Youtube Kids這兩款app啟動(dòng)耗時(shí)的不同。我們的分析發(fā)現(xiàn)Youtube Kids是在一些依賴上耗時(shí)更多,這些連帶著別的實(shí)現(xiàn)上的限制會(huì)花更多時(shí)間,這也解釋了二者在啟動(dòng)耗時(shí)上的不同。
考慮到這類app主打的就是設(shè)備加速功能,我們希望這類的app能快速啟動(dòng),Z Speed+是該類中啟動(dòng)最快的,比DU Battery Saver快了0.2秒。這比該類的最慢的app(DU Speed Booster & Antivirus)快了接近3倍。
相片編輯類軟件在移動(dòng)端非常流行,因?yàn)橛脩粝矚g在分享他們和朋友的照片之前做一些潤色、修改。Photo Grid 啟動(dòng)速度極快,啟動(dòng)只需要1.1秒。它比啟動(dòng)耗時(shí)恐怖的達(dá)8.8秒的Photo Editor Pro快了足足8倍。
我們注意到一個(gè)有趣的現(xiàn)象,那就是那些名字里包含“Pro”(如:Photo Editor Pro 和 GO SMS Pro)的app通常是同類中的啟動(dòng)速度最慢的app之一。僅僅說自己的app好還遠(yuǎn)遠(yuǎn)不夠——你還必須向用戶證明你的app能表現(xiàn)地很好。
總而言之,排名靠前的app(除了少數(shù)的異類)啟動(dòng)速度是相當(dāng)快的。我們再怎么強(qiáng)調(diào)app的啟動(dòng)耗時(shí)也不為過,因?yàn)檫@是讓這些app如此成功的重要組成部分。優(yōu)秀的開發(fā)者仍然在殫精竭慮地希望能讓他們的app啟動(dòng)更快,想成為一個(gè)偉大的開發(fā)者,你也應(yīng)該朝著這個(gè)方向努力。