为什么这段代码:
public class SomeTest extends InstrumentationTestCase {
@UiThreadTest
public void testSubscribe_noErrorHandler_threadingCorrect() throws Throwable {
android.util.Log.i("Now@" + Thread.currentThread().currentThread().getId());
runTestOnUiThread(new Runnable() {
@Override
public void run() {
android.util.Log.i("Later@" + Thread.currentThread().currentThread().getId());
}
});
}
}
..产生这个输出:
09-11 15:20:10.783 5155-5170/com.agens.android.vgsnarvei I/﹕ Now@2018
09-11 15:20:10.783 5155-5155/com.agens.android.vgsnarvei I/﹕ Later@1
我期待Now@1
,Later@1
,因为@UiThreadTest
的文档声称它假设在UI线程上运行