`

Activity启动创建 (AcitivtyManageService,ActivityThread,Activity)

 
阅读更多

Activity框架和管理结构
Activity管理的核心是AcitivityManagerService,是一个独立的进程
ActiveThread是每一个应用程序所在进程的主线程,循环的消息处理
ActiveThread与AcitivityManagerService的通信是属于进程间通信,使用binder机制
一个应用程序中所有Activity只有一个ActivityThread属于一个Process

Activity启动过程

Activity启动流程类结构分析
1 ActivityService相关类

2 Activity启动 

3 ActivityStack管理

4 ActivityThread

分享到:
评论

相关推荐

    Activity启动流程进程启动

    在这个方法中,首先会创建 Looper 对象,并执行 Looper.prepareMainLooper() 方法,然后创建 ActivityThread 对象,并调用 ActivityThread.attach() 方法告诉 ActivityManagerService 我们创建了一个应用,并将 ...

    Activity启动流程图

    Activity启动流程是Android系统中一个非常核心的部分,它是应用程序组件之一,负责创建和管理应用的用户界面。当我们想要启动一个新的Activity时,背后有一系列复杂的交互过程,涉及多个组件和类。本文将通过代码...

    Activity 启动过程源码+分析过程

    - **创建ActivityRecord**:为新启动的Activity创建一个ActivityRecord对象,存储Activity的状态信息。 - **任务栈管理**:决定Activity应被添加到哪个任务栈,或者是否创建新的任务栈。 - **调度启动**:通过`...

    Activity启动流程

    7. **启动进程**:如果目标Activity所在的进程还未启动,`ActivityManagerService`的`startProcessLocked()`被调用,创建新的进程。这里,进程管理的核心类`Process`参与进来。 8. **通过Zygote启动**:`Process`类...

    智能家居系统-Activity的启动和销毁.pptx

    6. ActivityThread创建Activity加入到mActivities中并开始调度Activity执行。 Activity销毁过程 Activity销毁过程可以分为两个部分:正常销毁和系统销毁。正常销毁是用户按下Back 按钮或者是Activity自己调用了...

    android启动以及activity生命周期分析

    - **newActivity**: 在`ActivityThread`内部调用,用于创建新的Activity实例。 - **attach**: 这个方法将Activity与底层的Context绑定在一起。 - **setTheme**: 设置Activity的主题样式。 - **callActivityOnCreate*...

    Starting Another Activity源码

    1. 创建Intent:通常,我们通过创建一个`Intent`对象并指定目标Activity来启动新Activity。`Intent`包含了启动Activity所需的信息,如组件名、数据、类别等。 2. 绑定Activity:`Intent`被传递到`ActivityThread`的...

    Activity_boot_process_analysis

    但总体来看,Activity的启动流程是Android系统框架层极为重要的部分,确保用户界面能够快速响应用户输入,并在后台进程创建与管理中发挥着关键作用。了解这一过程对于开发高效且响应迅速的Android应用至关重要。

    随意调节你的activity的大小,activity 自定义窗口大小

    确保在`AndroidManifest.xml`中声明`android:configChanges="screenSize|orientation"`,以便在尺寸变化时控制自己的逻辑,而不是让系统重新创建Activity。 5. 考虑兼容性和性能: 自定义窗口大小可能会对设备兼容...

    Android Activity的启动过程源码解析

    ActivityThread类包含了ApplicationThread、ApplicationThreadNative和IApplicationThread三个接口,负责处理Activity的启动和管理。 四、启动Activity的过程 启动Activity的过程可以分为以下几个步骤: 1. 调用...

    Android 通过反射启动未安装的APK中的Activity

    4. **创建对象**:使用反射的`Class.forName()`方法获取到对应的Activity类,并通过`newInstance()`创建实例。 5. **调用方法**:最后,我们可以通过反射调用Activity的`onCreate()`方法,甚至可以模拟Intent来启动...

    通过实例解析android Activity启动过程

    注:只是说明启动activity的过程(ActivityThread如何与ActivityManagerService简称AmS进行进程间通信调用全过程),不解析android从zygote(受精卵)到整个系统服务的启动 具体来讲,启动activity的方式有以下几种...

    Android中activity从创建到显示的基本介绍

    首先,当用户启动一个应用程序或点击一个能启动新Activity的按钮时,Android系统会调用`ActivityThread`中的`performLaunchActivity`方法。这个方法负责创建并初始化Activity。在`performLaunchActivity`中,主要...

    android Activity生命周期

    Activity的生命周期由创建、启动、运行、暂停、停止和销毁这6个状态构成。每个状态的变化都会触发特定的方法回调,开发者可以重写这些方法以执行相应的操作。 1. 创建(Creation): - `onCreate()`:Activity首次...

    Activity 工作过程1

    首先,当一个Activity被启动时,Android系统会通过`ActivityThread`进行处理。`ActivityThread`是应用程序的主线程,负责调度所有应用程序相关的操作。在`ActivityThread`中,`handleLaunchActivity`方法被调用,这...

    Android常用组件深入解析1

    对于根Activity(即首次启动的应用Activity),其创建流程比普通Activity多了一步:系统需要先创建新的应用进程。这个过程涉及Launcher进程、系统服务进程、Zygote进程以及新的应用进程。流程包括: 1. Launcher进程...

    Hook StartActivity Demo

    对于`StartActivity`,我们主要关注`ActivityManagerNative`类和`ActivityThread`类,因为它们在启动Activity过程中起着核心作用。 1. **Java层面的Hook**:我们可以使用Java的动态代理或者AspectJ库来实现。动态...

    Activity生命周期源代码

    当你启动一个Activity时,ActivityManagerNative会向ActivityThread发送消息,ActivityThread则根据消息内容调用相应生命周期方法。 博客“Activity生命周期源代码”可能详细解释了这些内部机制,并给出了实例代码...

Global site tag (gtag.js) - Google Analytics