android activity管理(二) activity启动流程,(ActivityClientRecord)

本文深入探讨了Android Activity的启动流程,包括HandleLaunchActivity方法的步骤,如配置更新、窗口管理系统的初始化以及Activity的创建、启动和暂停。重点分析了performLaunchActivity()中的关键过程,如加载Activity、创建Context、执行onCreate()并设置视图,以及handleResumeActivity()中如何将控件添加到窗口并渲染。同时,还概述了Activity的暂停、停止和销毁过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android activity管理(二) activity启动流程,(ActivityClientRecord)

ActivityClientRecord 是Apk进程中一个Activity代表,这个对象的activity成员引用真正的Activity组件,一个Activity涉及到哪些对象呢?

  1. Activity子类 ,应用实现的Activity实体。
  2. ContextImpl 接口就是我们非常数据的Context。
  3. PhoneWindow 接口是Window,这个对象可以理解为窗体客户端,维护的是布局XML文件,负责解析和加载控件。
  4. DecorView 顶层控件,应用创建的控件只是它的子控件。
  5. ViewRootImpl 这个对象可以理解为渲染引擎,负责渲染PhoneWindow中的控件到surface上。
  6. Surface 窗体的显示载体。

一个Activity的显示,在Apk进程中基本分成三个步骤:一个是解析XML文件加载控件。第二个是请求一个系统窗体返回一个Surface,第三个是将控件画到surface上。

HandleLaunchActivity()方法

1、调用handleConfigurationChanged()更新资源配置。
2、调用WindowManagerGlobal:initialize()方法初始化全局窗口管理系统,每一个Apk进程一个WindowManagerGlobal对象。
3、调用performLaunchActivity()拉起activity。
4、调用handleResumeActivity()唤醒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值