Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么Looper.loop()不阻止UI线程_Android_Handler_Android Looper - Fatal编程技术网

Android 为什么Looper.loop()不阻止UI线程

Android 为什么Looper.loop()不阻止UI线程,android,handler,android-looper,Android,Handler,Android Looper,这是ActivityThread.main()中的代码: 它使活套转动。loop()中始终有一个循环在运行。为什么Looper.loop()不阻止UI线程?Looper.loop()准备Looper以运行传递给线程的消息 它不会盲目地在自身上迭代,而是使用MessageQueue侦听消息并运行它们 这是一种事件驱动的方法,当MessageQueue通知它包含消息时,Looper准备循环并运行消息。了解更多关于如何 android事件循环工作,看看这个。 ()Looper.loop()准备Loo

这是ActivityThread.main()中的代码:

它使活套转动。loop()中始终有一个循环在运行。为什么Looper.loop()不阻止UI线程?

Looper.loop()
准备
Looper
以运行传递给线程的消息

它不会盲目地在自身上迭代,而是使用
MessageQueue
侦听消息并运行它们

这是一种事件驱动的方法,当
MessageQueue
通知它包含消息时,
Looper
准备循环并运行消息。了解更多关于如何 android事件循环工作,看看这个。

()

Looper.loop()
准备
Looper
以运行传递给线程的消息

它不会盲目地在自身上迭代,而是使用
MessageQueue
侦听消息并运行它们

这是一种事件驱动的方法,当
MessageQueue
通知它包含消息时,
Looper
准备循环并运行消息。了解更多关于如何 android事件循环工作,看看这个。


()

这回答了你的问题吗?没有。我在发帖之前看过。这回答了你的问题吗?没有,我在发帖之前看过。
    public static void main(String[] args) {

        ......

        Looper.prepareMainLooper();

        ...

        Looper.loop();

        throw new RuntimeException("Main thread loop unexpectedly exited");
    }