1.1.1_Activity的启动流程及View的三大绘制流程

Activity的启动流程及View的三大绘制流程

Activity的启动从startActivityForResult1,开始,通过ActivityManagerService.startActivity真正开启启动Activity,再经过ActivityStackSuperVisorActivityStack的一系列互相调用,最终会调用App.thread.scheduleLauncherActivity()2
在此方法中,会通过名为H的Handler对象,调用handleLaunchActivity(),在此方法中会调用performLaunchActivity()handleResumeActivity()
performLaunchActivity()方法中,会执行如下操作

  • 获取待启动的Activity的组件信息
  • 使用类加载器创建Activity对象
  • 尝试创建Application对象 (如果没有创建的话)
  • 回调Activity的onCreate、onStart方法

接着在handleResumeActivity()中,会执行如下操作

  • 回调Activity的onResume方法
  • 通过WindowManager,将DecorView添加到Window中3

具体来看WindowManager.addView(DecorView),最终会执行View绘制的三大流程,从而让View显示到界面上,按照调用顺序如下
1.绘制的入口

WindowManager.addView(DecorView)
 -> WindowManagerImpl.addView(decorView,layoutParams)
 -> WIndowManagerGlobal.addView()

2.绘制的类及方法

ViewRootImpl.setView(decorView,layoutParams,parentView)
-> ViewRootImpl.requestLayout() 
-> scheduleTraversals() 
-> doTraversal()
-> performTraversals()
  1. 绘制三大流程
ViewRootImpl.performMeasure() --遍历--> View.measure()
ViewRootImpl.performLayout() --遍历--> View.layout()
ViewRootImpl.performDraw() --遍历--> View.draw()  

绘制的三大流程

View是如何被添加到屏幕窗口上的

一般我们加载

  1. 创建DecorView (顶层布局)
  2. 在DecorView中加载基础布局ViewGroup (拥有content这个ID)
  3. 将ContentView添加到content这个Layout中

  1. startActivity() 实际调用的是startActivityForResult ↩︎

  2. App.thread即 ApplicationThread ↩︎

  3. 在此处,DecorView会先被设为INVISIBLE,然后在WindowManager.addView之后,再会把DecorView设为VISIBLE ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ise01_1.1.1_01740276.apk是一个安卓应用程序的文件名。APK(Android Package Kit)是安卓系统的应用程序安装文件格式。这个文件是一个特定版本的ise01应用程序,版本号为1.1.1,编号01740276。根据命名规则,这个APK文件可能属于ISE公司开发的ise01应用程序的一个特定版本。 ise01应用程序的具体功能无法确定,因为仅凭文件名无法提供关于应用程序的详细信息。要了解这个应用程序的功能和用途,可以通过进一步的研究,查找有关ise01应用程序的说明、用户评价或ISE公司的官方网站来获取更多信息。 对于普通用户来说,如果您收到了这样的APK文件,您可以考虑以下几个步骤来确保安全: 1. 验证来源:确保APK文件来自可信的来源,例如官方应用商店(如Google Play)或可靠的开发者。 2. 安全下载:在下载APK文件之前,检查您使用的设备是否具有可靠的安全软件,并使用该软件进行扫描以确保文件的安全。 3. 检查权限:在安装应用程序之前,在应用程序的权限列表中仔细检查所需的权限。如果某个应用程序请求过多或不必要的权限,可能是一个潜在的安全问题。 4. 更新检查:尽量保持您的设备上的应用程序和系统处于最新状态,这可以帮助修复已知的漏洞和安全问题。 请注意,对于未经验证的APK文件,存在一定的风险,因为恶意软件可能会伪装成APK文件来感染您的设备。因此,谨慎处理和安装APK文件至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值