我的问题很简单,但我找不到令人满意的答案。Looper.prepare()
问题是:如果我在开始时调用,我的线程是否在 UI 线程上运行Runnable
?
我知道Looper
是为了MessageQueue
在线程之间交换数据,但它是否使代码在 UI 线程上运行?
下面的代码将解释:
@Override
public void onReceive(final Context context, Intent intent) {
if(intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
Runnable runnable = new Runnable() {
@Override
public void run() {
Looper.prepare();
// ... some code ... //
Looper.loop();
}
};
Thread thread = new Thread(runnable);
thread.start();
}
}