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

西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里( 二 )


抖音在運(yùn)行了一段線下的內(nèi)存泄漏工具之后,發(fā)現(xiàn)了線下工具的各種弊端:
1. 檢測(cè)出來(lái)的內(nèi)存泄漏過(guò)多,并且也沒(méi)有比較好的優(yōu)先級(jí)排序,研發(fā)消費(fèi)不過(guò)來(lái),歷史問(wèn)題就一直堆積 。另外也很難和業(yè)務(wù)研發(fā)溝通問(wèn)題解決的收益,大家針對(duì)解決線下的內(nèi)存泄漏問(wèn)題的 ROI(投入產(chǎn)出比)比較難對(duì)齊 。
2. 線下場(chǎng)景能跑到的場(chǎng)景有限,很難把所有用戶(hù)場(chǎng)景窮盡 。抖音用戶(hù)基數(shù)很大,我們經(jīng)常遇到一些線上的 OOM 激增問(wèn)題,因?yàn)槿鄙倬€上數(shù)據(jù)而無(wú)從查起 。
3. Android 端的 HPORF 的獲取依賴(lài)原生的 Debug.dumpHporf,dump 過(guò)程會(huì)掛起主線程導(dǎo)致明顯卡頓,線下使用體驗(yàn)較差,經(jīng)常會(huì)有研發(fā)反饋影響測(cè)試 。
4. LeakCanary 基于 Shark 分析引擎分析,分析速度較慢,通常在 5 分鐘以上才能分析完成,分析過(guò)程會(huì)影響進(jìn)程內(nèi)存占用 。
5. 分析結(jié)果較為單一,僅僅只能分析出 Fragment、Activity 內(nèi)存泄露,像大對(duì)象、過(guò)多小對(duì)象問(wèn)題導(dǎo)致的內(nèi)存 OOM 無(wú)法分析 。
# 線上
正是由于上述一些弊端,抖音最早的線下工具和治理流程并沒(méi)有起到什么太大作用,我們不得不重新審視一下,工具建設(shè)的重心從線下轉(zhuǎn)成了線上 。線上工具的核心思路是:在發(fā)生
OOM 或者內(nèi)存觸頂?shù)扔|發(fā)條件下,dump 內(nèi)存的 HPROF 文件,對(duì) HPROF
文件進(jìn)行分析,分析出內(nèi)存泄漏、大對(duì)象、小對(duì)象、圖片問(wèn)題并按照泄露鏈路自動(dòng)歸因,將大數(shù)據(jù)問(wèn)題按照用戶(hù)發(fā)生次數(shù)、泄露大小、總大小等緯度排序,推進(jìn)業(yè)務(wù)研發(fā)按照優(yōu)先級(jí)順序來(lái)建立消費(fèi)流程 。為此我們研發(fā)了一基于
HPORF 分析的線下、線上閉環(huán)的自動(dòng)化分析工具 Liko(寓意 ko 內(nèi)存 Leak 問(wèn)題) 。
# Liko 介紹
# Liko 整體架構(gòu)

西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里

文章插圖

圖 3. Liko 架構(gòu)圖
整體架構(gòu)由 客戶(hù)端 、 Server 端 和核心 分析引擎 三部分構(gòu)成 。
* 客戶(hù)端
在客戶(hù)端完成 HPROF 數(shù)據(jù)采集和分析(針對(duì)端上分析模式),這里線上和線下策略不同 。
線上 :主要在 OOM 和內(nèi)存觸頂時(shí)通過(guò)用戶(hù)無(wú)感知 dump 來(lái)獲取 HPROF 文件,當(dāng) App
退出到后臺(tái)且內(nèi)存充足的情況進(jìn)行分析,為了盡量減少對(duì) App 運(yùn)行時(shí)影響,主要通過(guò)裁剪 HPROF
回傳進(jìn)行分析,減輕服務(wù)器壓力,對(duì)部分比例用戶(hù)采用端上分析作為 Backup 。
線下 :dump 策略配置較為激進(jìn),在 OOM、內(nèi)存觸頂、內(nèi)存激增、監(jiān)測(cè) Activity、Fragment 泄漏數(shù)量達(dá)到一定閾值多種場(chǎng)景下觸發(fā)
dump,并實(shí)時(shí)在端上分析上傳至后臺(tái)并在本地自動(dòng)生成 html 報(bào)表,幫助研發(fā)前發(fā)現(xiàn)可能存在的內(nèi)存問(wèn)題 。
* Server 端
Server 端根據(jù)線上回傳的大數(shù)據(jù)完成鏈路聚合、還原、分配,并根據(jù)用戶(hù)發(fā)生次數(shù)、泄露大小、總大小等緯度促進(jìn)研發(fā)測(cè)消費(fèi),對(duì)于回傳分析模式則會(huì)另外進(jìn)行
HPORF 分析 。
* 分析引擎
基于 MAT 分析引擎完成內(nèi)存泄露、大對(duì)象、小對(duì)象、圖片等自動(dòng)歸因,同時(shí)支持在線下自動(dòng)生成 Html 報(bào)表 。
# Liko 流程圖

西瓜視頻播放位置其他是哪里,西瓜視頻的緩存文件在哪里

文章插圖

圖 4. Liko 流程圖
整體流程分為:
1. Hprof 收集
2. 分析時(shí)機(jī)
3. 分析策略
# Hprof 收集
收集過(guò)程我們?cè)O(shè)置了多種策略可以自由組合,主要有 OOM、內(nèi)存觸頂、內(nèi)存激增、監(jiān)測(cè) Activity、Fragment
泄漏數(shù)量達(dá)到一定閾值時(shí)觸發(fā),線下線上策略配置不同 。
為了解決 dump 掛起進(jìn)程問(wèn)題,我們采用了子進(jìn)程 dump+fileObsever 的方式完成 dump 采集和監(jiān)聽(tīng) 。


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

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