[Android]Log介绍

1. Log种类

android.util.Log常用的方法有以下六个:

              Log.v() Log.d() Log.i() Log.w() Log.e()以及Log.a() (android 4.0新增加的)。根据首字母对应VERBOSEDEBUG,INFO, WARN, ERROR, Assert

1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");

2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.

3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息

4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。

5、Log.e红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

6、Log.a为4.0新增加的。

优先级有下列集中,是按照从低到高顺利排列的:

  • V — Verbose (lowest priority)
  • D — Debug
  • I — Info
  • W — Warning
  • E — Error
  • F — Fatal
  • S — Silent (highest priority, on which nothing is ever printed)

2. Log分析

1,程序异常退出,UnCausedException      (Fatal)
2,程序强制关闭,ForceClosed (简称FC)       (Fatal)
3,程序无响应,ApplicationNoResponse(简称ANR)

3.1 ANR出现的情况有以下两种

A  界面操作按钮的点击等待响应时间超过5秒

B  HandleMessage回调函数执行超过10秒,BroadcasterReciver里的onRecive()方法处理超过10秒

 4. 系统基本log信息

系统基本信息,包括 内存,CPU,进程队列,虚拟内存 , 垃圾回收等信息 。

4.1  ------MEMORY INFO (/proc/meminfo) ------

4.2 ------EVENT INFO (/proc/vmallocinfo) ------

4.3 ------VM TRACES JUST NOW (/data/anr/traces.txt.bugreport: 2011-01-1516:49:02) ------
------VM TRACES AT LAST ANR (/data/anr/traces.txt: 2011-01-15 16:49:02)------

虚拟机信息, 包括进程的,线程的跟踪信息

3.初步bug解决方案

1,如果是ANR问题, 则搜索“ANR”关键词。 快速定位到关键事件信息 。
2,如果是ForceClosed和其它异常退出信息,则搜索"Fatal"关键词,快速定位到关键事件信息 。
3,定位到关键事件信息后, 如果信息不够明确的,再去搜索应用程序包的虚拟机信息,查看具体的进程和线程跟踪的日志,来定位到代码。

用这种方法,出现问题,根本不需要断点调试, 直接定位到问题,屡试不爽 。

原文地址:https://www.cnblogs.com/webapplee/p/3771712.html