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


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

資源消耗類:CPU、內存、電量;

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

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

一、響應時間是什么?

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

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

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

如下圖:

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

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

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

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

測試環境:

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

軟件版本:Android 版本9.0

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

測試次數:5次取平均值

測試范圍:

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

測試方法:

測試步驟:

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

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

數據誤差:1~2ms

舉個栗子:

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

首先安裝知乎APP到Pixel手機,在系統設置中勾選知乎應用全部權限,完成后打開錄屏軟件,開始錄屏;

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

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

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

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

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

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

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

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

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

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

舉一個栗子體會一下,一般人平均每分鍾閱讀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秒,但在給用戶提供更好閱讀體驗的過程中,還需進一步提升頁面響應速度,縮短頁面響應時間。

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

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。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM