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,详情请参考相应的文档。
发表评论