Android 主线程中的默认循环器和处理程序是何时创建的

Android 主线程中的默认循环器和处理程序是何时创建的,android,android-activity,Android,Android Activity,对于主活动,来自主线程的循环器和处理程序处理UI中的用户输入。既然主活动被授予一个线程,那么什么时候创建循环器和处理程序 当底层从UI接收消息并将其传递给主线程时,是否有办法查看底层是如何实现的 我将尽力解释Android启动应用程序时的基本步骤。这是一个简单的答案。有关更多详细信息,您可能需要亲自阅读Android源代码 让我们从用户在主屏幕上单击应用程序的启动器图标开始。我们假设您的应用程序当前未运行: Android创建了一个操作系统进程来托管您的应用程序(因为您的应用程序还没有运行的操

对于主活动,来自主线程的循环器和处理程序处理UI中的用户输入。既然主活动被授予一个线程,那么什么时候创建循环器和处理程序


当底层从UI接收消息并将其传递给主线程时,是否有办法查看底层是如何实现的

我将尽力解释Android启动应用程序时的基本步骤。这是一个简单的答案。有关更多详细信息,您可能需要亲自阅读Android源代码

让我们从用户在主屏幕上单击应用程序的启动器图标开始。我们假设您的应用程序当前未运行:

  • Android创建了一个操作系统进程来托管您的应用程序(因为您的应用程序还没有运行的操作系统进程)
  • Android创建主(UI)线程,并为该线程准备
    活套
    处理程序
    ,然后启动
    活套
  • Android实例化您的singleton
    应用程序
    对象,并在该实例上调用
    onCreate()
  • Android为您的应用程序(清单中的ACTION=MAIN和CATEGORY=LAUNCHER)实例化根
    Activity
    ,并在该实例上调用
    onCreate()
  • Android现在根据Android组件的标准生命周期,对您的活动调用各种其他生命周期调用
  • 一旦您的
    活动
    出现在屏幕和前台,UI事件和其他系统事件将被发送到应用程序的组件

通常,除非显式创建其他线程,否则所有代码都将在主(UI)线程上运行

你查过了吗:@Haresh Chhelana我以前没找到过。。我要吃一顿饭look@HareshChhelana说,在某个时候,框架可能在活动开始之前设置了活套。我想知道是否有机会找到这个过程的代码。@Lzy看到这个:谢谢!我会看看它。我对android是相当陌生的,在C/C++中是否有一个像main这样的入口点,每个都从那里开始?这取决于你的意思。在封面下有,但对于应用程序开发人员来说没有。应用程序开发人员使用Android组件(活动、服务、提供者和广播接收者)你所说的“隐藏”是什么意思?Android框架负责所有这些。所以在Android框架中有一个主要的入口点。但是常规应用程序没有这个功能。框架中的主条目是否有源代码?我试图查找一些源代码,但我不知道应该查找哪个库。