我通常使用
runOnUiThread (new Runnable () {
@Override
public void run () {
}
});
在主线程中启动一些公主。最近我发现了这个
new Handler(Looper.getMainLooper()).post(new Runnable () {
@Override
public void run () {
// this will run in the main thread
}
});
我的问题是两种方法之间有什么区别,哪种方法最适合使用?
答案 0 :(得分:1)
两者实际上是相同的。 runOnUiThread
和Handler#post
都在UI线程中运行传递的Runnable
。
仅供参考,您还可以通过调用方法Runnable
在任何View
的帮助下在UI线程上执行任何View#post(runnable)
。
由于所有方法在内部都使用Handler
,因此所有方法都是相同的,并且使用这些方法不会有任何区别。