91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

App中如何測試啟動時間

發布時間:2021-12-18 16:38:30 來源:億速云 閱讀:185 作者:小新 欄目:云計算

這篇文章主要介紹了App中如何測試啟動時間,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

背景介紹

Android用戶也許會經常碰到以下的問題: 1)應用后臺開著,手機很快沒電了——應用耗電大; 2)首次/非首次啟動應用,進入應用特別慢——應用啟動慢; 3)應用使用過程中,越來越卡——CPU能力不足/內存泄露; 4)應用頁面卡頓——幀率較低、頁面卡頓。 因此,對開發的Android應用,必須對其進行性能測試,不然將會直接影響用戶體驗。

Android應用性能測試通常包括:啟動時間、內存、CPU、耗電量、流量、流暢度等。本次先介紹啟動時間的測試方法。

啟動時間對于App的性能測試,啟動時間是個重要指標,啟動時間分為兩種情況,一種是冷啟動時間(通常是系統重啟,即在啟動前沒有該App進程的情況),另一種是熱啟動,即App從被切換到前臺(點back退出后再點擊圖標啟動)。QA測試時,一般關注冷啟動的啟動時間。以下介紹三種測試啟動時間的方法,供大家參考,可以有針對性的使用。

1.1 使用adb命令

1.1.1 測試方法 輸入adbshell am start -W packagename/MainActivity命令,計算啟動時間。如下圖: App中如何測試啟動時間

圖1應用第一次啟動也就是我們常說的冷啟動,這時候你的應用程序的進程是沒有創建的. 這也是大部分應用的使用場景.用戶在桌面上點擊你應用的 icon 之后,首先要創建進程,然后才啟動 MainActivity.這時候adbshell am start -w packagename/MainActivity 返回的結果,就是標準的應用程序的啟動時間。注意Android 5.0 之前的手機是沒有WaitTime這個值的。關于ThisTime/TotalTime/WaitTime的區別,下面是其解釋。 WaitTime=endTime-startTime

  • startTime記錄的剛準備調用startActivityAndWait()的時間點

  • endTime記錄的是startActivityAndWait()函數調用返回的時間點

  • WaitTime = startActivityAndWait()調用耗時。

WaitTime 就是總的耗時,包括前一個應用Activity pause 的時間和新應用啟動的時間;ThisTime 表示一連串啟動Activity 的最后一個 Activity 的啟動耗時;TotalTime表示新應用啟動的耗時,包括新進程的啟動和 Activity 的啟動,但不包括前一個應用Activity pause 的耗時。也就是說,開發者一般只要關心 TotalTime 即可,這個時間才是自己應用真正啟動的耗時。

總結一下,如果只關心某個應用自身啟動耗時,參考TotalTime;如果關心系統啟動應用耗時,參考WaitTime;如果關心應用有界面Activity啟動耗時,參考ThisTime。

1.1.2 總結

該方法算出的時間是系統從開始處理啟動activity的時間到完成運行layout和draw函數的時間,簡單的理解就是啟動這個Activity的時間,并不包括點擊icon到系統接收到消息的時間。顯然,這個時間并不能完整的模擬用戶操作場景的啟動時間。其次該方法只計算一個Activity的整體啟動時間,沒有分別統計其中每個函數的時間,不便于定位問題。針對這兩個問題,我們接下來看一下下面兩個方法是怎樣解決的。

我們在測試中關注的其實是用戶體驗的啟動時間,那么上面的時間就不能滿足我們的需求了。既然是用戶體驗我們可以用更直觀的方式,使用screenrecord進行屏幕錄制然后分析視頻。

1.2 使用screenrecord進行屏幕錄制

1.2.1 測試方法 (1)輸入命令adb shellscreenrecord --bugreport /sdcard/lanch.mp4--bugreport 參數會使視頻輸出一些時間信息和幀信息便于我們分析啟動時間。 (2)點擊收集圖標,app完全啟動后,使用ctrl+c結束視頻錄制。 (3)使用命令adb pullsdcard/lanch.mp4 ./,導出視頻 (4)導出視頻到電腦,使用可以按幀播放的視頻軟件打開(mac上quicktime就可以,win下可以用kmplayer),并按幀播放。 如下圖所示: App中如何測試啟動時間圖3具體每步做了哪些,可以參照下表。 App中如何測試啟動時間

1.3.2 總結 這樣打點,可以清晰明了的看出Activity的總耗時及各個函數的耗時情況,這樣在測試過程中,如果遇到問題可以很容易的定位到具體的函數。在測試過程中也有針對點,比如貼吧直播后續會以插件的形式整合到貼吧里,測試時,可以多關注plugin初始化的時間。

針對啟動時間這一性能指標,個人覺得打點輸出日志的方式較為理想,QA在測試過程中發現有疑似問題后,可以給出具體的函數耗時時間。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“App中如何測試啟動時間”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

app
AI

郸城县| 临泽县| 石门县| 额尔古纳市| 宁强县| 金山区| 南川市| 夹江县| 天柱县| 金阳县| 洪湖市| 凤冈县| 元谋县| 南召县| 明水县| 汉川市| 双江| 彭阳县| 北碚区| 旌德县| 湘西| 固安县| 莱芜市| 襄汾县| 平江县| 西和县| 陇南市| 新邵县| 仙桃市| 郑州市| 西平县| 谷城县| 东莞市| 田阳县| 丹阳市| 松阳县| 托克托县| 四子王旗| 行唐县| 久治县| 汶上县|