我知道附加到主线程的处理程序在主线程上运行。
final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
}, DELAY_MS);
在上面,run方法实际上是在其他backround线程上执行的。
答案 0 :(得分:0)
否,这只会在MainThread
上执行。
为什么?
由于您正在创建的Runnable
在Loopers MessageQueue (can contain Runnables or
other things)中排队,该队列将被顺序处理。如果您想更深入地了解,a great question about the Looper asked