run()和runOnUIThread()方法内部差异

时间:2017-07-14 13:12:53

标签: android

任何人都可以解释这两种方法的内部机制。什么使run只对应逻辑而不是ui以及是什么让runOnUiThread使UI变更成为可能。

2 个答案:

答案 0 :(得分:2)

run()是Runnable实现的接口方法

runOnUiThread(Runnable action)使用Runnable实现run()方法并在MainThread上执行它。

视图只能从MainThread更改,因此从其他每个线程执行的run()都会导致错误

答案 1 :(得分:-1)

runOnUiThread在内部获取Main或UI Thread并在Main / UI线程上运行其中编写的代码。

run方法初始化Executor Pool中的一个新线程,该线程被随机分配给它。因此,您无法在运行方法中运行UI更改代码。