那些年,我们一起做过的Android优化

“那些年,我们一起做过的Android优化” 是由六把斧编剧,Android studio监制,AS调试技巧、卡顿优化、内存优化、耗电优化等改编的小说,讲述了程序猿和Android优化之间令人操蛋的恩怨情仇。

上面都是瞎几把说的。这系列主要分为一下四个方面来说

  • AS调试的技巧
  • 卡顿优化
  • 内存优化
  • 耗电优化

由于篇幅过长,本文先分享AS调试技巧

AS调试技巧

无需再次编译直接进入debug模式

刚毕业的时候开始工作的时候,接手了一个代码量10万级以上的项目,重点是项目没有模块化,加上当时配的电脑渣,每次编译都想屎想屎,每次编译都30分钟以上。简直爽得不要不要的,咱也不懂,咱也不敢问啊。
奔溃

某天正常debug项目的时候
-w444

旁边的小黄跟我说,你™在干什么,你这样编译到什么时候,直接Attach Process就可以啦。从此debug爽得不要不要的
-w454

-w320

条件断点

先进行普通的断点,然后对着断点右键,设置好条件即可,注意一下Suspend的选择
-w1019

变量的断点

有时候我们需要知道一个变量哪里被访问,哪里被修改。这个时候我们就可以使用变量断点。对着要跟踪的变量打断点即可,注意一下watch的类型。
-w918

分析数据流

如果想知道一个变量,它是如何被传入到当前位置,不要在傻傻的全局搜索啦。对着要跟踪的变量右键->Analyze->Analyze data to here,就会在下方显示出所有有可能赋值给它的地方。
-w899
而Analyze data from here,表示跟踪变量如何传到别的地方。

分析方法、变量的引用

对着要分析的方法或者变量右键,Find usages,就会看到项目所有引用到的地方。注意一下,跟上面的分析数据流还是有差别的。

日志断点

有时候我们只是需要知道某个变量的值而已,并不想添加log之后重新编译。
进行普通的断点,点击More,去掉Suspend,输入需要log的日志或者想知道的变量。甚至可以把Stack trace打印出来。
-w682
-w236

求值表达式

进入debug模式之后,可以直接输入想知道的变量值以及方法的返回值。
-w537
-w848

修改变量

-w657
-w497

学会了以上基本的调试技巧,从此修bug不是梦。

接下来我们将进入本系列的高潮部分。卡顿优化内存优化耗电优化.

-------------本文结束感谢您的阅读-------------
您的支持将是我最大的动力