方法调用Looper.prepare()和Looper.loop()为android中的主UI线程

时间:2013-01-05 19:02:44

标签: android multithreading looper

在UI线程的情况下,我们只创建Handler,因为主UI线程已经有Looper

我想知道在框架代码中对UI线程调用Looper.prepareLooper.loop的位置。我正在挖掘框架代码几个小时试图找到它。

提前致谢。

2 个答案:

答案 0 :(得分:2)

它位于android.app.ActivityThread方法的main课程中。

答案 1 :(得分:0)

如果您不得不使用Looper,而您不知道问题的答案,那么您可能正在做一些过于复杂的事情。在大多数情况下,Android完全自主地处理这种东西,你真的不应该担心它......

只需从GUI线程中创建Handler,放入onResume()或者类似的就可以了。

Handler handler;

@Override
protected void onResume()
{
    super.onResume();

    handler = new Handler();
}

否则您可以使用runOnUiThread命令。

runOnUiThread(new Runnable() {
    public void run() {
        the_textView.setText(someText);
    }});