公司:#滴滴 #美團(tuán)
崗位:#軟件測試工程師
關(guān)鍵字:#adb #Android #移動端app #Appium #java
1.主線程執(zhí)行了耗時操作,比如數(shù)據(jù)庫操作或網(wǎng)絡(luò)編程
2.其他進(jìn)程(就是其他程序)占用CPU導(dǎo)致本進(jìn)程得不到CPU時間片,比如其他進(jìn)程的頻繁讀寫操作可能會導(dǎo)致這個問題。
細(xì)分的話,導(dǎo)致ANR的原因有如下幾點:
1.耗時的網(wǎng)絡(luò)訪問
2.大量的數(shù)據(jù)讀寫
3.數(shù)據(jù)庫操作
4.硬件操作(比如camera)
5.調(diào)用thread的join()方法、sleep()方法、wait()方法或者等待線程鎖的時候
6.service binder的數(shù)量達(dá)到上限
7.system server中發(fā)生WatchDog ANR
8.service忙導(dǎo)致超時無響應(yīng)
9.其他線程持有鎖,導(dǎo)致主線程等待超時
10.其它線程終止或崩潰導(dǎo)致主線程一直等待。