小工具
- SelectorGeneratorPlus
- Octotree
- GitHub Plus
- OhMyStar2
- 更多
调试工具
- Stetho
- 调试webview
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webview.setWebContentsDebuggingEnabled(true);
}
Android Studio Debug
- 面板介绍
- 设置变量的值
举个例子
todayIntimacy
- 条件断点
场景: for循环中的断点
举个例子
- 日志断点
场景:RecyclerView.Adapter中观察变量
举个例子
h.bindView(item, getIndexFourMargin(position));
int[] res = getIndexFourMargin(position)
"position = " + position + ", res[0] = " + res[0] + ", res[1] = " + res[1]
- 异常断点
举个例子
- 方法断点
举个例子
- 属性断点(Field WatchPoint)
场景:在多线程环境下,你发现某个值莫名其妙滴不知道什么时候被谁给修改了
举个例子
private boolean mbPrepareingVideo = false;
断点输出
StackTraceElement[] s = Thread.currentThread().getStackTrace()
String methodName = s[6].toString()
"name = " + methodName
Tips
- 混淆过的代码不支持debug, 注意minifyEnabled的值
-
如果debug的代码在不同进程中,记得attch的时候选中所在进程