亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

一文讀懂直播卡頓優(yōu)化那些事兒 如何解決直播卡頓( 五 )


SF & GFXInfo
RFPS
相對(duì)幀率
數(shù)據(jù)獲取時(shí)間周期內(nèi) , (理論滿幀-實(shí)際掉幀數(shù))/ 數(shù)據(jù)獲取間隔時(shí)間
GFXInfo
Stutter
卡頓率
卡頓比 。當(dāng)發(fā)生 jank 的幀的累計(jì)時(shí)長(zhǎng)與區(qū)間時(shí)長(zhǎng)的比值 。
SF
Janky Count
普通卡頓次數(shù)
單幀繪制耗時(shí)大于 MOVIE_FRAME_TIME 時(shí) , 計(jì)一次 janky 。
SF
Big Janky Count
嚴(yán)重卡頓次數(shù)
單幀繪制耗時(shí)大于 3*MOVIE_FRAME_TIME 時(shí) , 計(jì)一次 big janky 。
SF
4. 如何優(yōu)化卡頓4.1 常用的工具4.1.1 線上工具名稱
釋義
正式包慢函數(shù)
相對(duì)于灰度包 , 過濾了比較多監(jiān)控 , 對(duì)性能損耗比較小 , 但是需要手動(dòng)打開 , 單點(diǎn)反饋中不能保留反饋現(xiàn)場(chǎng)
灰度包慢函數(shù)
灰度上全量打開 , 針對(duì)版本間的數(shù)據(jù)對(duì)比和新增卡頓問題解決比較有效
ANR
ANR 的及時(shí)響應(yīng)和處理
4.1.2 線下工具工具名
備注
Systrace
暫不贅述
perfetto
加強(qiáng)版 systrace , 可定制 , 可以參考官方文檔
Rhea
最常用也是最好用的工具 , 方便發(fā)現(xiàn)下下問題和歸因 , 和 perfetto 一起使用絕配 , 感興趣的同學(xué)可以移步 github 搜索 btrace
profiler
Androidstudio 自帶工具 , 比較方便 , 但是數(shù)據(jù)準(zhǔn)確度不高
sf / gfxinfo
主要用于腳本和工具
4.2 常用的思路

這里主要針對(duì) UI 卡頓和 UI/流相互影響打來的卡頓 。
對(duì)于 UI 卡頓來說 , 我們手握卡頓優(yōu)化的 8 板大斧子 , 所向披靡:
  1. 下線代碼;
  2. 減少執(zhí)行次數(shù);
  3. 異步;
  4. 打散;
  5. 預(yù)熱;
  6. 復(fù)用;
  7. 方案優(yōu)化;
  8. 硬件加速;
總體思路就是「能不干就不干、能少干就少干、能早點(diǎn)干就早點(diǎn)兒干、能晚點(diǎn)兒干就晚點(diǎn)兒干、能讓別人干就讓別人干、能干完一次當(dāng) 10 次就只干一次 , 實(shí)在不行 , 再考慮自己大干一場(chǎng)」 。
這里例舉出一些常見的優(yōu)化思路 , 注意這一定也不可能是全部 , 如果有其他好的優(yōu)化思路 , 我們可以一起交流 。
4.3 一些做過的事兒4.3.1 解決 UI 卡頓引起的流卡頓直播對(duì)于 SurfaceView 的切換是一個(gè)長(zhǎng)期的專項(xiàng) , 分為多期逐步將 SurfaceView 在直播全量落地 , 場(chǎng)景覆蓋秀場(chǎng)直播、聊天室、游戲直播、電商直播、媒體直播等 , 業(yè)務(wù)上對(duì)于滲透率和停留時(shí)長(zhǎng)有比較顯著的收益 , 同時(shí)功耗的收益也很可觀 。
這里是一個(gè)權(quán)衡的問題 , SurfaceView 的兼容性問題 pk 帶來的收益是否能打平 , 一般來說 , 越是復(fù)雜的業(yè)務(wù)場(chǎng)景 , 收益約大 。
4.3.2 解決 message 調(diào)度FWatchDog 是基于對(duì) MessageQueue 的調(diào)度策略和同步屏障原理 , 以均幀耗時(shí)為閾值判定丟幀后主動(dòng)在 MessageQueue 中插入同步屏障 , 保證渲染異步 message 和 doframe 的優(yōu)先執(zhí)行 , 達(dá)到一種渲染插幀的效果 , 同時(shí)具備 ANR 自動(dòng)恢復(fù)同步屏障的能力 , 保障打散的有效 。
所以 FWatchDog 和打散是好的搭檔 , 能產(chǎn)生 1+1 大于 2 的效果 。
4.3.3 減少執(zhí)行次數(shù)一個(gè)典型的應(yīng)用場(chǎng)景就是滑動(dòng)場(chǎng)景的 GC 抑制 , 能夠顯著提高用戶上下滑的使用體驗(yàn) 。這個(gè)場(chǎng)景相信每個(gè)業(yè)務(wù)都會(huì)存在 , 特別是存在大量遍歷的邏輯 , 優(yōu)化效果明顯 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: