Log的学习和使用


 

一、   目标

1.   了解并熟悉如何使用Log

2.   通过Log分析ANR(Application noresponse)和Force Closed引起的程序问题

3.   知道系统Log文件的存放位置

4.   通过Log快速定位到Root Cause的位置

 

二、   具体内容

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

Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 

分别对应:

VERBOSEDEBUG,INFOWARNERROR

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

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

§  Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.vLog.d的信息,但会显示iwe的信息

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

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

书写格式如下:

 Log.v(LogDemo.ACTIVITY_TAG, "This is Verbose.");
    Log.d(LogDemo.ACTIVITY_TAG,"This is Debug.");
    Log.i(LogDemo.ACTIVITY_TAG,"This is Information");
    Log.w(LogDemo.ACTIVITY_TAG,"This is Warnning.");
    Log.e(LogDemo.ACTIVITY_TAG,"This is Error.");

 

2. Log文件

一般情况下,在以下三种情况下会产生Log文件保存在手机中(data/log文件夹下),虚拟机默认不产生:

§   程序异常退出 uncaused exception

§   程序强制关闭 Force Closed(FC)

§   程序无响应   Application no response(ANR)

什么时候会产生ANR呢?

§   界面操作(按钮的点击)等待时间超过5秒

§   HandleMessenge 回调函数中执行超过10秒

 

 

三、   问题解答

1.  如何在程序中打出Log以及log的分类区别?

2.  给你一个Log文件,如何定位到问题的所在?

四、   练习

五、   总结

1.首先,一个Android的程序在开发阶段需要进行故障排查,同样的,开发后也需要进行健壮性测试,这个过程中都少不了Log的应用,所以不妨在写程序的时候在一些关键点写一些Log,方便后面观察程序运行状态。

Plus:程序后续的测试可以使用Android自带的monkey命令进行压力测试。在cmd中进入模拟器Linux环境里面(adb shell),找到软件的路径,然后运行monkey –p com.test.myApp –v 1500(自动测试com.test.myApp这个包1500次),然后通过Log找到问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值