Android如何处理“从错误的线程调用”异常

时间:2013-07-23 13:33:45

标签: java android user-interface background

我很好奇当工作线程尝试在UI上更改某些内容时Android如何处理这种情况。我的猜测是有一些消息队列(但是来自UI队列的不同的一个由handler + looper管理)并且系统在尝试发布消息时检查线程id。所以,我会非常感谢任何提示。

1 个答案:

答案 0 :(得分:1)

查看其中一个堆栈跟踪,似乎所有修改(使View无效并使其需要重绘)的调用View最终会在android.view.ViewRootImpl类中出现:

视图层次结构的顶部,在View和WindowManager之间实现所需的协议。

在该类中,在允许更改视图之前,使用getThread()方法检查线程标识。