`
- 浏览:
9255 次
- 性别:
- 来自:
北京
-
首先从ActivityThread 类中main()函数中开始执行,调用 Looper.prepareMainLooper() 为 UI 线程创建一个消息队列(MessageQueue)
然后创建一个ActivityThread对象,在 ActivityThread 初始化的时候会创建两个对象,一个对象
final ApplicationThread mAppThread = new ApplicationThread();
final Looper mLooper = Looper.myLooper();
final H mH = new H();
H 继承于Handler类 ApplicationThread 继承于Binder 类,负责接收远程 ActivityManagerService 的IPC 调用,接收到消息会通过 H 把消息发送给消息队列,UI 主线程会异步的从消息队列中取出消息并执行相应的业务逻辑。
当ActivityThread 接收到ActivityManagerServer 发送start 某个Activity 的请求之后,会创建对应的Activity对象,从 Activity->PhoneWindows->DecorView->view->ViewGroup。创建完毕之后,Activity 需要把创建好的界面显示在屏幕当中,由 WindowsManager 代理管理WindowManagerService 提供的接口通知底层Linux 驱动完成显示UI到屏幕的工作。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在"Android四大组件简述"这个项目中,你可以找到关于这些组件的示例代码和实践应用,通过学习和调试这些示例,可以更深入地理解四大组件的工作原理和使用方式。这将对提升你的Android开发技能大有裨益。
例如,如果你想确保用户在使用应用过程中始终只有一个特定Activity的实例,可以使用singleTask或singleInstance模式。而如果你不关心实例数量,只是简单地从一个Activity跳转到另一个,那么standard模式就足够了。 ...
### Android启动过程详解 #### 一、概述 Android操作系统启动过程是一个复杂且精细的过程,它涉及到从硬件层面的初始化到最终用户界面的呈现。整个启动流程可以大致分为以下几个阶段: 1. **init进程启动** 2. **...
例如,当用户点击一个按钮时,我们可以创建一个Intent,声明想要执行的动作(如显示详细信息),然后用startActivity()方法启动一个新的Activity来响应这个Intent。 Intent不仅用于启动Activity,还能在Activity...
在Android源码层面,Activity的启动过程涉及到ActivityManagerService的调度,通过Binder机制,将Intent传递到目标Activity。Intent的解析和匹配则涉及到IntentFilter的比较算法,这是Android系统实现组件间通信的...
- Level 0(默认):仅显示启动提示、测试完成和结果信息。 - Level 1 (`-v -v`):提供每个发送到Activity的事件信息。 - Level 2 (`-v -v -v`):包含测试中所有Activity的详细信息。 #### 3. `-s` 参数 `-s` 参数...
在Android应用开发中,Activity是应用程序的基本构建块,它代表用户界面的一个屏幕。当用户与屏幕交互时,Activity会处理这些交互并展示相关信息。以下是详细介绍Android新建Activity的步骤以及相关实现技巧。 **...
理解Android布局文件的使用是开发过程中必不可少的技能。通过LinearLayout,我们可以创建简单的线性布局,控制控件的排列方式和大小。随着学习的深入,还可以探索更复杂的布局容器,如RelativeLayout、...
在Android应用开发中,Activity是核心组件之一,用于呈现用户界面并与用户进行交互。了解和掌握Activity的四种启动模式对于优化应用的用户体验和性能至关重要。接下来我们将深入探讨这四大启动模式,并通过实验来...
Android开发的关键概念还包括:Activity(应用程序的基本单元,负责用户界面)、Intent(用于启动其他组件或传递数据)、Service(后台运行的服务)、Broadcast Receiver(广播接收器,监听系统广播事件)以及...
在Android操作系统中,四大组件是构建应用程序的核心元素,它们分别是Activity、ContentProvider、BroadcastReceiver(IntentReceiver)和服务(Service)。这四个组件各自扮演着不同的角色,共同协作以实现应用程序...
在Android系统中,Activity和Intent是两个至关重要的概念,它们构成了Android应用交互的核心。Activity可以理解为应用程序中的一个窗口或视图,用户通过它与应用进行互动。Intent则扮演着消息传递者的角色,用于在...
### 简述Android触摸屏手势识别 #### 一、引言 随着移动设备的普及,用户越来越依赖于直观的手势交互方式来进行操作。在Android系统中,利用触摸屏的各种手势(如Fling、Scroll等)操作能显著提高应用程序的用户...
- **定义**:Activity是Android应用程序的一个基本组成部分,每一个Activity控制一个屏幕的显示。 - **作用**:通过加载View来实现每一屏特定的UI显示。 - **实现方式**:程序员通过继承`android.app.Activity`类...
在Android应用开发中,服务(Service)是一种在后台运行,长时间执行任务的组件,而Activity则是用户界面的主要载体。本地服务(Local Service)是Android系统服务的一种,它并不与网络或者其他设备通信,主要处理...
`ActivityManagerService`(以下简称AMS)是Android系统中负责管理应用程序生命周期的核心服务之一,主要负责Activity的启动、切换以及进程的管理等任务。 ##### ActivityManagerService之main - **创建Activity...