对于主活动,来自主线程的looper和handler处理UI中的用户输入。由于主活动被授予一个线程,looper和handler何时被创建?
有没有办法看到底层在从UI接收消息并将其传递给主线程时如何实现?
答案 0 :(得分:2)
我会尽力解释Android启动应用程序时所经历的基本步骤。这是一个简化的答案。有关更多详细信息,您可能需要自己阅读Android源代码。
让我们从用户在HOME屏幕上单击应用程序的启动器图标开始。我们假设您的应用程序当前未运行:
Looper
和Handler
并启动Looper
。Application
对象并在该实例上调用onCreate()
Activity
(清单中的ACTION = MAIN和CATEGORY = LAUNCHER)并在该实例上调用onCreate()
Activity
出现在屏幕上并位于前台,就会将UI事件和其他系统事件发送到您应用程序的组件。通常,除非您显式创建其他线程,否则所有代码都将在主(UI)线程上运行。