android中使用ExecutorService的时候执行耗时操作为什么会阻塞UI线程?
在android中使用ExecutorService类:
Future<Boolean> future = executorService
.submit(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
Thread.sleep(3000);//执行这个操作的时候会明显发现UI线程被阻塞了
return true;
}
});
try {
if (future.get()) {
}
} catch (Exception e) {
e.printStackTrace();
executorService.shutdown();
}
难道这个线程池所提供的线程是跑在UI线程的?但是打印出来的Thread.name并不是主线程,但是为什么在这里面执行耗时操作也会阻塞UI线程呢?
viilz
10 years, 8 months ago