Этот вопрос аналогичен вопросу о
Handler.post()
. Handler.post()
выполняется асинхронно и для синхронного выполнения предлагается проверять текущий поток. В runOnUiThread()
есть эта проверка. Если текущий поток – это UI тред, то параметр-runnable запускается сразу. Иначе выполнение делегируется в
mHandler.post()
, где mHandler
– это хэндлер, созданный на UI потоке.