安卓工作室线程调试
2022-08-31 19:50:48
我在调试带有Android Studio 1.1的多线程应用程序时遇到问题。似乎当一个断点被击中时,所有其他线程也会停止,而不仅仅是带有断点的线程。我在活动的 onCreate 中使用以下方法创建了一个简单的测试应用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread a = new Thread("thread-a") {
@Override
public void run() {
Log.v("thread", "thread-a");
}
};
Thread b = new Thread("thread-b") {
@Override
public void run() {
Log.v("thread", "thread-b");
}
};
a.start();
b.start();
}
我在 thread-a 和 thread-b 中的 Log.v 行上设置断点,然后在我的 Lollipop Nexus 5 上以调试模式运行它。
当应用启动时,它会命中 thread-a 中的断点,但我注意到的第一个问题是应用的 UI 是空白的,就好像主线程已暂停一样。接下来,我看到线程b中的断点也被击中,所以我在Android Studio的调试器中拉出线程视图,但是当我去展开线程b箭头时,那里什么都没有。当我展开主线程时,它显示它在onStart()中的某个地方暂停了。
是我做错了什么,还是此调试器无法一次调试多个线程?