我一直在使用Android Studio 1.1调试多线程应用时遇到了困难。似乎当断点被触发时,所有其他线程也会停止,而不仅仅是具有断点的那个线程。我在Activity的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中的断点,但我注意到的第一个问题是应用程序的用户界面为空白的,就好像主线程被暂停了一样。接下来我去看thread-b中的断点也被触发了,所以我打开了Android Studio调试器中的"Threads"视图,但是当我尝试展开thread-b箭头时,却什么也没有显示出来。当我展开主线程时,它显示正在onStart()处暂停。
我做错了什么还是这个调试器不能同时调试多个线程?