美文网首页
Android Studio: 调试的技巧与心得

Android Studio: 调试的技巧与心得

作者: 挚爱蔚然 | 来源:发表于2020-03-29 16:05 被阅读0次

    来源AndroidDevSummit中的AndroidStudio调试技术总结
    视频链接https://www.bilibili.com/video/BV1hJ411B7A5
    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA,Android Studio 提供了集成的 Android 开发工具用于开发和调试。以下简称为AS。以下总结是基于AS 3.6.1版本。不同版本可能有些功能上的差异。
    这里就不针对一些基本的调试技巧进行总结,只挑选一些个人觉得比较不常用到但是觉得挺有用到调试技巧。希望你们看完有所收获。

    LogCat

    Setting中移除一些不关心到信息(比如日期,时间)

    image.png

    这样能让我们到LogCat看起来更简洁,更容易发现问题。

    自定义过滤器

    image.png
    image.png

    log的折叠

    当我们在调试一些问题的时候,logcat中的log并非所有都是我们想要看到的,这时候我们可以通过折叠的方式将我们不关心的log折叠起来,以便我们更好的找出我们的问题所在。折叠log的方式如下图


    image.png
    image.png

    这样就会为我们创建了一个过滤器,折叠我们不关心的内容。

    Debug技巧

    断点的拖动

    断点在AS中是可以自由拖动的,当你发现你打断点的地方不是你想要打的断点的地方,你可以按住断点将它拖动到你想要的地方去,当然原先的断点也会随之消失。

    给断点添加条件

    当我们调试的时候,特别是在循环里面打断点,并不想每次都触发断点,这时候我们可以为我们的断点添加条件,当达到特定条件的时候,才触发我们的断点。设置方式如下图:


    image.png

    禁用断点直到某个断点触发

    当我们设置了某个断点,但是我们不想它每次都触发,除了可以给断点添加布尔表达式进行逻辑判断外,我们还可以让禁用断点直到我们某个断点被触发都时候再启用。设置方法右键断点,点击more进入跟多设置。


    image.png

    多线程/异步问题调试

    当我们当应用中有多个线程并且我们当问题涉及到异步的调用的时候,我们可以在断点中指定是只在当前线程中停止还是全部线程都停止,这样有助于我们复现一些很麻烦都异步问题。

    禁用暂停记录断点数据

    当我们在调试问题都是,发现某个断点并不想让他暂停只是想记录一下当时都数据,我们不想在代码中写满到处都Log.d()这样的代码,我们可以将断点禁用,并将我们想要的数据在Console中打印出来,操作如下

    image.png

    断点分组

    当我们在调试一个bug一直没有进展的时候,我们想要暂停问题去着手解决另外一个问题,可是在调试过程中总是先撞上来第一个问题的断点,这样影响来我们调试问题的效率,于是我们只能一个一个的去禁用于上个问题有关的断点,其实我们可以将断点进行分组,这样我们在启用和禁用断点的时候可以以组进行操作,这样能加快我们的调试效率。操作如下。右键断点,点击 more,进入更多操作

    image.png
    image.png

    断点的回放

    当我们在调试某个断点的时候,发现某个问题很疑惑,可以我们已经跳过断点了,这个时候我们只能重新来一次,并且小心翼翼的不要再次错过。如果的你调试设备是Android 10以上的,那么在debug视图中有一个drop Frame按钮,点击一下他就可以将程序拉出当前方法,再回到它开始前的地方,当你再次步进它的时候,就会获得重新开始的机会。

    相关文章

      网友评论

          本文标题:Android Studio: 调试的技巧与心得

          本文链接:https://www.haomeiwen.com/subject/ofyfuhtx.html