真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進行ANR簡述-創(chuàng)新互聯(lián)

如何進行ANR簡述,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、肇東網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

ANR簡述以及分析流程

ANR簡介

什么是ANR?ANR即為Application Not Responding,也就是應用程序無響應。

ANR的原因

Android系統(tǒng)中,ActivityManagerService(簡稱AMS)和WindowManagerService(簡稱WMS)會檢測App的響應時間,如果App在特定時間無法相應屏幕觸摸或鍵盤輸入時間,或者特定事件沒有處理完畢,就會出現(xiàn)ANR。
產(chǎn)生ANR的原因一般有以下三種:
1.點擊、觸摸、鍵盤輸入事件在5s內(nèi)沒有及時響應(inputdispatch timeout)
2.廣播超時沒有響應,前臺廣播10s未響應,后臺廣播60s未響應 (Broadcast timeout)
3.service 20s 沒有響應 (service timeout)

ANR的分析流程

現(xiàn)在我們通過一個分析實例來進行闡述,如何分析anr 的問題

1.首先我們要先分析一個anr的systemlog
通過搜索關鍵字“anr ”可以定位到在log中anr 發(fā)生的地方,如下圖
如何進行ANR簡述

從systemlog中這段log,我們可以知道幾個關鍵的點
1.anr發(fā)生的進程名、進程號(PID: 1531)
2.anr發(fā)生的原因(如上點擊事件超時未響應)
3.anr發(fā)生的時候,當時的進程cpu占用情況,同時具體進程占用的上層和kernel層資源情況。

2.通過上一步的大致描述,找到anr發(fā)生的時間點
上面可以看到anr是因為點擊事件超時沒有響應,導致的anr,那么我們可以在這個時間點的前5s(個別定制化平臺可能時間不為5s),查看具體發(fā)生anr的進程(Pid 1531)在做什么。
如何進行ANR簡述

在systemlog中查看到具體anr發(fā)生的時間點,以便我們了解該時間點的時候,系統(tǒng)進程在進行什么操作,同時,可以簡單看下我們的具體進程在進行什么操作

3.查找trcace文件,查看進程的堆棧(最重要的一步)
如何進行ANR簡述
從這個截圖來看,我們首先找到pid 為1531的進程main進程,查看當時main進程卡死在什么地方。
從狀態(tài)native來看,是進程卡在了native層沒有及時返回,從堆棧來看進程是在操作imagePlayerManager.init
的時候,進行進程間通信,在native層卡主沒有及時返回。
所以此時要找到對應堆棧在代碼中的位置,查看具體耗時操作。查看卡主未返回的具體原因。
在耗時操作位置做規(guī)避來防止anr的發(fā)生。

導致ANR的情況還有很多,進程死循環(huán)、死鎖、耗時操作(網(wǎng)絡請求,圖片處理,數(shù)據(jù)庫處理等)卡死主線程。
后續(xù)找到經(jīng)典案例繼續(xù)補充。
分析ANR需要trace文件這個是非常重要的一點。

關于如何進行ANR簡述問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章名稱:如何進行ANR簡述-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/cscehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部