碰见ANR的时候,都会着急的去处理这种情况的发生。然而,要如何快速定位到触发ANR的问题所在呢,这里进行了一些简要的分析仅做参考,也记录一下自己的思考。
首先,解决问题要知道问题怎么导致发生的;ANR的分类大致可分为以下几种:
1、应用程序错误
2、Java application Hang
3、dalvik或者core libraries的错误
4、kernel的错误
5、modem的错误
但是具体问题也是要具体分析的,并没有一种快速的方案直接定位到问题点;定位问题的时候,一般都是用logcat和dmesg的方法去定位,这也是定位问题环节的重要一步,抓住ANR 的错误log在去分析方可实现目的。好记性不如赖笔头,记录一下以提醒自己。