警惕!不要讓頁面響應時間成為應用效能指標上的槓精

安卓綠色聯盟發表於2018-09-07

談到移動端應用效能測試,我們首先會想到的效能測試指標有:啟動時間、響應時間、CPU、記憶體、電量等。我們可以將以上指標按照資源消耗和響應時間分為兩大類。

資源消耗類:CPU、記憶體、電量;

響應時間類:啟動時間、響應時間;

從使用者角度來說,應用效能就是應用對使用者操作的響應時間。響應時間過長不僅意味著等待,還意味著較差的使用者體驗,更直接關乎著使用者的直觀感受。

一、響應時間是什麼?

響應時間:是指使用者發出請求到得到響應整個過程的時間。

通俗地講,當使用者在應用互動介面單擊一個按鈕、發出一條指令或點選一個連結時,從使用者操作開始到應用把結果以使用者能察覺的方式呈現出來,這個過程所消耗的時間就是使用者所直觀感受的應用響應時間。

應用響應時間過長或者無響應是使用者在應用使用過程中最不願意看到的現象,也是最令使用者感到煩惱及痛惡的地方。

如下圖:

image

看到上圖,你的感受是什麼?

實際上,在大量程式響應的過程中,超過3秒以上的響應時間將會嚴重影響使用者的工作效率。如果使用者在使用應用過程中出現響應時間過長或者無響應等情況,迎接開發者的將是無盡的抱怨及投訴電話。

二、如何進行應用響應時間測試?

我們看到,響應時間對於使用者來說既有客觀成分,也有主觀成分。當應用出現響應時間過長時,使用者的主觀感受將會成為判斷應用響應時間的主要原因。既然響應時間對使用者體驗影響那麼重要,那我們該如何進行應用響應時間的測試呢?

測試環境:

硬體環境:Pixel 4GB RAM+32GB ROM

軟體版本:Android 版本9.0

預置條件:應用首次安裝,選擇相同網路環境,同時在系統設定中勾選應用所有許可權。

測試次數:5次取平均值

測試範圍:

資訊類Top應用:知乎、百度貼吧、豆瓣、天涯社群

測試方法:

測試步驟:

  • ① 點選應用圖示,進入首頁,等待首頁內容完全顯示;
  • ② 點選文章搜尋選項,搜尋統一熱點關鍵詞,等待文章列表頁面載入。
  • ③ 點選文章列表頁面任一文章,記錄點選開始時間startTime;
  • ④ 等待頁面內容完全顯示,記錄應用頁面載入完成時間endTime;
  • ⑤ 重複步驟③、④,測試5次,取平均值。

測試結果:頁面響應時間=endTime-startTime

資料誤差:1~2ms

舉個例子:

下面將以知乎APP文章頁面響應時間為例,向大家演示一下以上測試步驟,其中硬體裝置用到一部Pixel手機,軟體需用到一款錄屏軟體,電腦端需要一個能夠顯示視訊幀數的播放器。

首先安裝知乎APP到Pixel手機,在系統設定中勾選知乎應用全部許可權,完成後開啟錄屏軟體,開始錄屏;

開啟知乎APP,完成首頁載入後,根據最近熱點新聞,搜尋“壽光”關鍵詞,等待文章列表載入完成;

image

選擇任一文章,統計操作開始時間及頁面完全載入時間。

image

獲取startTime及endTime後,我們需要了解視訊錄製幀率設定,將幀率單位(fps)換算為時間單位(ms),這樣我們就完成了知乎APP內容頁面的響應時間計算。

三、響應時間測試結果展示

在測試資料展示之前需要跟大家小小科普一下,1秒(s)等於1000毫秒(ms)。重要的事情說三遍,1s=1000ms!1s=1000ms!1s=1000ms!好了,記住了之後我們就要開始嘍!

1、資訊類各應用頁面響應時間測試資料如下:

image

上邊我們提到,本次測試的範圍主要為資訊類應用。考慮到日常生活中使用者通過這些應用進行的最多操作就是閱讀,因此內容頁面的響應時間與使用者的相關性最大。為了體現應用本身的實用效能,在5次測試資料的選擇上,我們分別針對每個應用內容頁面的響應時間進行了重點統計,最後通過取平均值的方式求出以上幾款資訊類應用內容頁面的平均響應時間。

2、資訊類各應用頁面平均響應時間橫向對比

測試資料顯示,資訊類應用內容頁面平均響應速度最快的是百度貼吧,平均響應時間僅有1157ms,約1.2s。內容頁面平均響應速度最慢的應用是天涯社群,平均響應時間為2397ms,約2.4s。百度貼吧要比天涯社群在內容頁面的平均響應速度快約1.2秒,1.2秒到底意味著什麼呢?

image

首先容我坦白一下,上方先給大家進行時間單位換算的科普是有目的滴。因為日常生活中,相比於毫秒,我們對秒這個單位有更直觀的感受。

舉一個栗子體會一下,一般人平均每分鐘閱讀300~500字,相當於平均每秒閱讀5~8字。這也就意味著使用者已在百度貼吧的內容頁面閱讀5個字了,天涯社群的內容頁面還沒有完全載入出來。

3、天涯社群各個版本的頁面平均響應時間對比

天涯社群6.9.0版本內容頁面的平均響應時間最短為2278ms,約2.3s,天涯社群6.8.0版本內容頁面的平均響應時間最長為2559ms,約2.6s。可以看出,天涯社群在應用版本更新過程中,頁面響應時間整體呈現縮短趨勢,頁面響應速度不斷得到優化提升。

在天涯社群6.9.2版本5個內容頁面響應時間統計過程中,我們發現5個內容頁面響應時間都在2000ms(2s)以上。我們知道,在等待頁面載入過程中,近半數使用者最長等待時間為3秒,天涯社群整體頁面響應時間雖然小於3秒,但在給使用者提供更好閱讀體驗的過程中,還需進一步提升頁面響應速度,縮短頁面響應時間。

image

四、導致頁面響應時間過長的原因

1、頁面複雜,需繪製的內容(佈局 & 控制元件)太多,從而導致頁面載入時間過長。

2、頁面過度繪製較多,從而導致繪製時間過長。

3、DOM結構複雜。

4、過度或不恰當的DOM操作。

5、http請求過多、請求時間過長、請求異常(中斷、無響應、請求錯誤)等情況。

五、優化建議:

1、降低View.onDraw()的複雜度。

2、避免過度繪製(Overdraw)。

3、避免過於複雜的DOM結構,避免過度巢狀。

4、保證簡潔、清晰的html結構,減少或避免多餘的html標籤。

5、善用快取,只載入初始化或有更新狀態的資源,對無更新的資源則返回已快取的結果。

目前,華為終端開放實驗室已上線應用頁面響應時間測試功能,歡迎廣大應用開發者前來使用!

①登入DevEco平臺

進入https://deveco.huawei.com/ ,登入賬號,選擇“測試服務-雲測試-效能測試”

②選擇機型,點選“立即體驗”

③根據要求上傳應用 APK,獲取頁面響應時間測試結果。

華為終端開放實驗室後期將持續釋出各類別應用的評測報告,為使用者選擇最佳體驗的應用提供參考,敬請關注!

如果您有更好的解決方法與見解,歡迎在文章下方留言交流。

如有疑問,可傳送郵件至deveco@huawei.com。

關注安卓綠色聯盟公眾號,瞭解更多

相關文章