Android Run Loop的剖析

Dou*_*ugW 6 java android

我似乎无法找到有关Android的Activity运行循环细节的任何文档.

Apple记录了" 运行循环的解剖结构 ",这正是我正在寻找的.Android文档在其生命周期状态图中只显示" 活动正在运行 ".显然,这是由某种运行循环支持的.

任何人都有一些洞察力(又名文档)进入Activity的运行循环的内部?

编辑 - 我应该澄清一下,我认为运行循环实际上是由主UI线程拥有和运行的.当前Activity的功能可能会在某个时刻注入此runloop.我对整个UI线程运行循环感兴趣,以及Activity在其中扮演什么角色.

ada*_*amp 3

简短的回答是:“别担心,它已经为你做好了。”

活动和其他构造位于 之上android.os.Looper,通过 的实例与其进行通信android.os.Handler。ALooper管理您的“运行循环”,从队列中调度消息并在队列为空时阻塞线程。Handler与线程通信Looper并提供使用消息队列的机制。

大多数时候,您不需要直接与其中任何一个一起工作。主要应用程序组件(例如活动和服务)的生命周期事件将被分派到您的代码。如果您对幕后内容感到好奇,可以使用这两个资源:

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/Looper.java

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/Handler.java