Android常见问题debug

来源:互联网 发布:汉诺塔递归算法 扩展 编辑:程序博客网 时间:2024/05/16 03:06


android.util.Log
常用的方法有以下5个:
Log.v()
Log.d()
Log.i()
Log.w()
Log.e()
根据首字母对应
VERBOSE
DEBUG
INFO
WARN
ERROR

另外,Log太多时用来过滤和标识分类log信息。


Java Crash
 Java Crash是我们最为常见的严重错误了,log中很容易可以找到其报错的地方通过其标注的位置开始检查代码。
ANR
 Application No Response 应用响应超时
Native Crash  
 一般是由Dalvik错误、状态监视调试器、C层代码以及libc的一些问题导致的。当系统发生Native Crash的时候,kernel首先会上报一个严重的警告信号(serious signal)
Memory Leak
 内存泄漏,一般会报java.lang.OutOfMemoryError
Kernel Panic
 内核发生不可恢复的错误,一般会重启


Java Crash

关键字: “Exception”(一般在main log) 有时在system log 中。


内存泄漏问题,搜索 java.lang.OutOfMemoryError


常见的严重错误有如下几类:
NullPointerException  :  空对象错误
IllegalStateException:非法状态,比如在View没有刷出来的时候去触摸。
IndexOutOfBoundsException
IllegalArgumentException
ExceptionInInitializerError
ClassCastException
RuntimeException
UnknownFormatConversionException
UnsupportContentTypeException
CursorIndexOutOfBoundsException
 发生 java crash 一般直接找 FATAL 关键字就可以定位问题了,log中有详细的文件名和行号。

ANR错误

关键字: “ANR  ”(system log)
ANR :Application Not Responding,即应用程序无响应。
ANR一般有三种类型:
KeyDispatchTimeout、(5 seconds)
BroadcastTimeout、(10 seconds)
ServiceTimeout。(20 seconds)

发生ANR后在systemlog中 搜“ANR”关键字
可以得到当前发生ANR的应用程序和最近时间内CPU使用率







0 0
原创粉丝点击