“那些年,我们一起做过的Android优化” 是由六把斧编剧,Android studio监制,AS调试技巧、卡顿优化、内存优化、耗电优化等改编的小说,讲述了程序猿和Android优化之间令人操蛋的恩怨情仇。
上面都是瞎几把说的。这系列主要分为一下四个方面来说
由于篇幅过长,本文先分享AS调试技巧
AS调试技巧
无需再次编译直接进入debug模式
刚毕业的时候开始工作的时候,接手了一个代码量10万级以上的项目,重点是项目没有模块化,加上当时配的电脑渣,每次编译都想屎想屎,每次编译都30分钟以上。简直爽得不要不要的,咱也不懂,咱也不敢问啊。
某天正常debug项目的时候
旁边的小黄跟我说,你™在干什么,你这样编译到什么时候,直接Attach Process就可以啦。从此debug爽得不要不要的
条件断点
先进行普通的断点,然后对着断点右键,设置好条件即可,注意一下Suspend的选择
变量的断点
有时候我们需要知道一个变量哪里被访问,哪里被修改。这个时候我们就可以使用变量断点。对着要跟踪的变量打断点即可,注意一下watch的类型。
分析数据流
如果想知道一个变量,它是如何被传入到当前位置,不要在傻傻的全局搜索啦。对着要跟踪的变量右键->Analyze->Analyze data to here,就会在下方显示出所有有可能赋值给它的地方。
而Analyze data from here,表示跟踪变量如何传到别的地方。
分析方法、变量的引用
对着要分析的方法或者变量右键,Find usages,就会看到项目所有引用到的地方。注意一下,跟上面的分析数据流还是有差别的。
日志断点
有时候我们只是需要知道某个变量的值而已,并不想添加log之后重新编译。
进行普通的断点,点击More,去掉Suspend,输入需要log的日志或者想知道的变量。甚至可以把Stack trace打印出来。
求值表达式
进入debug模式之后,可以直接输入想知道的变量值以及方法的返回值。
修改变量
学会了以上基本的调试技巧,从此修bug不是梦。
接下来我们将进入本系列的高潮部分。卡顿优化
、内存优化
、耗电优化
.