Да, это будет работать в потоке пользовательского интерфейса.
Если вы хотите запустить фоновый поток, делайте это обычным способом.
Thread t = new Thread(new Runnable(){});
t.start()
Но если вы хотите вообще изменить пользовательский интерфейс в ответ на то, что может сделать фоновый поток, вы можете использовать postDelayed ().
Любые изменения в пользовательском интерфейсе должны выполняться в основном потоке пользовательского интерфейса.