• [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,定位到关键事件信息后, 如果信息不够明确的,再去搜索应用程序包的虚拟机信息,查看具体的进程和线程跟踪的日志,来定位到代码。

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

  • 相关阅读:
    用户控件赋值
    计算一串数字中每个数字出现的次数
    如何理解c和c++的复杂类型声明
    STM32 NVIC学习
    stm32f10x_flash.c中文版
    IBM中国研究院Offer之感言——能力是一种态度
    对于STM32别名区的理解 (转载)
    STM32时钟学习之STM3210X_RCC.H解读
    STM32 DMA
    STM32 内部时钟输出PA.8(MCO)
  • 原文地址:https://www.cnblogs.com/webapplee/p/3771712.html
Copyright © 2020-2023  润新知