android獲取某應(yīng)用的幀數(shù)據(jù):
前提操作:
(打開手機(jī) 開發(fā)者選項(xiàng)-GPU顯示配置文件(顯示于 adb shell dumpsys gfxinfo)勾上,只有4.1以上支持)
在android4.1中,谷歌提供了一個(gè)工具來,叫做“ GPU呈現(xiàn)模式分析(Profile GPU rendering)”,
在開啟這個(gè)功能后,系統(tǒng)就會記錄保留操作界面最后128幀圖像繪制的相關(guān)時(shí)間信息
正式開始開始操作:
打開需要測試的頁面,上下勻速的滑動(這里建議最好是用腳本穩(wěn)定運(yùn)行)
命令行 adb shell dumpsys gfxinfo com.taobao.mobile.dipei
結(jié)果中 Profile data in ms
分析下面數(shù)據(jù)(這里要注意,找到對應(yīng)的頁面activity對應(yīng)的數(shù)據(jù))
Draw:表示在Java中創(chuàng)建顯示列表部分中,OnDraw()方法占用的時(shí)間?!?/strong>
Process:表示渲染引擎執(zhí)行顯示列表所花的時(shí)間,view越多,時(shí)間就越長
Execute:表示把一幀數(shù)據(jù)發(fā)送到屏幕上排版顯示實(shí)際花費(fèi)的時(shí)間。
其實(shí)是實(shí)際顯示幀數(shù)據(jù)的后臺緩存區(qū)與前臺緩沖區(qū)交換后并將前臺緩沖區(qū)的內(nèi)容顯示到屏幕上的時(shí)間。所以這個(gè)時(shí)間,一般都很短。
PS:View類包含Surface(變量名mSurface),每個(gè)Surface通常對應(yīng)兩個(gè)buffer,一個(gè)front buffer, 一個(gè)back buffer。
(4.1之后是3個(gè),一個(gè)前,兩個(gè)后)其中,back buffer就是canvas繪圖時(shí)對應(yīng)的bitmap (研究Android_view_Surface.cpp::lockCanvas)。
因此,繪畫總是在back buffer上,需要更新時(shí),則將back buffer和front buffer互換。
Draw + Process + Execute = 完整顯示一幀 ,
這個(gè)時(shí)間要小于16ms才能保存每秒60幀。
將數(shù)據(jù)復(fù)制到excel中(win記得逐列復(fù)制,mac下就直接復(fù)制過去吧),然后將數(shù)據(jù)生成“堆積柱形圖”;
統(tǒng)計(jì)數(shù)據(jù)
將上面步驟中得到的三列數(shù)據(jù),放到excl里面,將3個(gè)值加在一起得到一幀的總耗時(shí)sum1,sum2,....sum128,共128個(gè)幀值;
將這128個(gè)幀中大于16ms的數(shù)據(jù)count()出來,比如,得到10幀是大于16ms的;
再將10/128 與8%比較,超過8%則可以斷定基本不合格;小于8%可以算合格;
這里面的3個(gè)步驟,均可以用腳本來實(shí)現(xiàn),后續(xù)會補(bǔ)上特定的章節(jié)來描述如何用腳本來實(shí)現(xiàn);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享名稱:android獲取某應(yīng)用的幀數(shù)據(jù)-創(chuàng)新互聯(lián)
標(biāo)題來源:http://jinyejixie.com/article22/pidcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、商城網(wǎng)站、網(wǎng)站策劃、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容