Adb logcat日志中查看Android应用程序异常信息

在Android里,应用程序的响应性是由Activity Manager和Window Manager系统服务监视的。当某个应用处于长期假死状态时Android系统会弹出一个窗口上提示程序无响应,Adb logcat的日志信息中会出现ANR(Application No Response),并且更新/data/anr/traces.txt。

Logcat日志中搜索”ANR “关键词,可以快速定位到ANR(Application No Response)问题。Force Closed和其它异常退出,则搜索”Force”关键词。

还可以使用uncaughtException,crash(TAG,e),handleApplicationError,sendSingal(SIGQUIT),logThreadStacks等关键字查看android系统应用程序异常。

如下android应用程序ANR和Force Closed日志示例:

01-06 13:23:44.117: E/ActivityManager(305): ANR in com.xxx.data:pushservice

01-06 10:53:02.515: W/ActivityManager(235): Force removing ActivityRecord{420e7090 com.xx.app/.activities.MainActivity}: app died, no saved state

01-06 15:09:49.553: W/ActivityManager(235): Force finishing activity com.xx.app/.activities.MainActivity

Adb logcat还会把出现错误的Error或Exception打印出来,这就需要熟悉Java的Throwable,Android的Error和Exception沿用Java的,比如Error有AssertionError,VirtualMachineError,OutOfMemoryError和其他的Error类。Exception有RuntimeException和IOException,详情请参考相应的文档。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注