Android线程池更新UI问题

今天阅读Android源码设计模式解析与实战中的ImageLoader demo时发现他在mExecutorService线程池中的子线程中更新了UI,
参考https://www.jianshu.com/p/1eefeaa6db52
发现是因为
'''
void checkThread() {
if (mThread != Thread.currentThread()) {
throw new CalledFromWrongThreadException(
"Only the original thread that created a view hierarchy can touch its views.");
}
}
'''
被线程池的sumbit方法捕获了异常,而UI先更新了再去检查checkThread,因此子线程中更新UI后的代码无法得到执行。

你可能感兴趣的:(Android线程池更新UI问题)