当前位置: 首页 > news >正文

Activity

在这里插入图片描述
我们知道 Android 系统启动后已经启动了 Zygote,ServiceManager,SystemServer 等系统进程;ServiceManager 进程中完成了 Binder 初始化;SystemServer 进程中 ActivityManagerService,WindowManagerService,PackageManagerService 等系统服务在 ServiceManager 中已经注册;最后启动了 Launcher 桌面应用。

onCreate

这一步主要涉及WindowManagerService

Activity在oncreate的时候会新建一个PhoneWindow 对象。在 Android 中,Window 是个抽象的概念, Android 中 Window 的具体实现类是 PhoneWindow,Activity 和 Dialog 中的 Window 对象都是 PhoneWindow。

同时得到一个 WindowManager 对象,WindowManager 是一个抽象类,这个 WindowManager 的具体实现是在 WindowManagerImpl 中,对比 Context 和 ContextImpl。

每个 Activity 会有一个 WindowManager 对象,这个 mWindowManager 就是和 WindowManagerService 进行通信,也是 WindowManagerService 识别 View 具体属于哪个 Activity 的关键,创建时传入 IBinder 类型的 mToken。

mWindow.setWindowManager(..., mToken, ..., ...)

这个 mToken 是一个 IBinder,WindowManagerService 就是通过这个 IBinder 来管理 Activity 里的 View。

回调 Activity.onCreate() 后,会执行 setContentView() 方法将我们写的 Layout 布局页面设置给 Activity。

onResume

简单来说,onResume的过程就是先获取之前oncreate的时候,设置在activity中的phoneWindow,然后拿到这个window中的decorView(就是setContentView设置进去的东西?)。将decorView通过windowManager的addView方法将这个decorView添加进去。

windowManager的实现是windowManagerImpl,而windowManagerImpl又会调用windowManagerGlobal的addView函数。

最终的最终,windowManagerGlobal使用IWindowSession这个对象通过binder与system_server通信,完成view的add

在这里插入图片描述

http://www.xdnf.cn/news/832753.html

相关文章:

  • 获取时间的几种方法
  • 软件详细设计说明书编制模板(直接套用模板2024Word原件)
  • 一步一图带你深入理解 Linux 物理内存管理
  • Windows系统报错msvcp100.dll丢失的多种解决方法分享
  • 异步FIFO设计详解
  • 【Xilinx Vivado时序分析/约束系列7】FPGA开发时序分析/约束-FPGA单沿采样数据input delay时序约束实操
  • 网络IP地址冲突故障,快速解决方案(非常详细)零基础入门到精通,收藏这一篇就够了_内网总提示有ip冲突
  • LDAP 是个啥你知道吗?
  • 面试常问-Alpha测试和Beta测试
  • 距离保护原理
  • TCP的核心系列 — SACK和DSACK的实现(一)
  • BigDecimal中divide方法与setScale方法详解
  • 详解a标签中href=javascript的几种用法
  • C语言scanf函数详解..
  • 【数据结构】树(四)—— 线索二叉树(C语言版)
  • 系统缺失GdiPlus.dll文件导致出现系统异常的解决办法
  • 影音先锋 android下载地址,影音先锋安卓版下载
  • leapftp怎么用,掌握leapftp的使用方法只需6步
  • MS17-010(永恒之蓝)漏洞分析与复现
  • Java Class 类文件格式看这一篇就够了
  • SEH异常处理学习总结
  • linux crw权限,linux中crw brw lrw等等文件属性是什么
  • input 的 disabled和readonly 及其 限制。
  • 长链接转短链接,短链接跳转对应页面
  • 什么是IT咨询?IT外包又是什么?
  • LIBSVM入门
  • 详解IP安全:IPSec协议簇 - AH协议 - ESP协议 - IKE协议
  • dhtml是基于html的一门语言,什么是DHTML
  • 【ISP】颜色的理解
  • Matlab中利用findpeaks找波峰和波谷