Android -线程中的loop .prepare() vs activity . runonuthread()



我的问题很简单,但是我找不到一个满意的答案。问题是:如果我在Runnable开始时调用Looper.prepare(),我的线程是否在UI线程上运行?

我知道LooperMessageQueue和线程之间交换数据,但它是否使代码在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();
    }
}

不,它不会使你的线程在UI线程上运行。更多信息请参见:与UI线程通信

相关内容

  • 没有找到相关文章

最新更新