查看android线程在干嘛

有时候在android开发过程中会遇到主线程阻塞的问题, 但是却又找不到阻塞的原因是什么,那我就想看看当前主线程在干些什么事。 这就是本篇博客要将的内容:如何查看android线程在干嘛

借助工具monitor来分析。android studio在3.0之后取消了在studio中集成monitor,可以在sdk中找到monitor工具 位置 sdk/tools .

命令行到该目录下, 输入monitor + 回车会启动monitor

查看android线程在干嘛_第1张图片

在左侧的device中选择设备,选择要调试的程序, 选中之后,按照下图红框中操作

查看android线程在干嘛_第2张图片

从图中大家应该已经看出来当前主线程在干嘛了吧 ? 由下至上几个操作从执行click到onclick回调之后是thread.sleep 这下知道主线程卡顿的问题在于点击事件中有一个thread.sleep在阻塞主线程。 当然实际开发中肯定不会是thread.sleep这种低级错误导致的主线程阻塞,具体的情况具体去看看这个主线程在干嘛就好了。

这个是主线程的过程,其他线程执行过程也是类似的分析方法。

你可能感兴趣的:(学习记录)