Activity启动流程_51CTO博客
转载请标明出处:一片枫叶的专栏 好吧,终于要开始讲解Activity启动流程了,Activity启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下
转载 2017-05-22 19:29:00
89阅读
2评论
一直都想过要去看一看一个activity是怎么启动起来的,但一直都没有静下心去认真看一看,现在趁着有时间好好阅读了一下源码,加上网上一些同志的分享,终于吧代码撸的比较清楚了,怕时间一久,又忘记了,赶紧记下来,如果有什么错误和遗漏的话,看官们也请指出。(本文中源码出自Android API 23)首先我们打开activity的startActivity方法:@Overridepublic void
原创 精选 2016-08-25 20:51:11
1299阅读
启动一个Activity,通常有两种情况:第一种是不同进程的的根activity,比如laucnher启动app;第二种是同进程内部启动activity。这两种情况的启动流程类似,大致分为以下三个步骤:调用进程的activity收集好信息后,向system_server进程的ActivityTaskManagerSrvice服务发起请求。ATMS向PKMS寻找启动activity的信息和进程信息
原创 5月前
93阅读
总结:Activity启动过程,我们可以从Context的startActivity说起,其实现是ContextImpl的startActivity(内部调用startActivityForResult),然后内部会通过Instrumentation来尝试启动Activity,这是一个跨进程过程,它会调用ams的startActivity方法,当ams校验完activity的合法性后,会通过Ap
转载 2023-07-03 13:42:26
120阅读
我们在平常开发的过程中,想启动一个Activity怎么办?startActivity(Intent intent)就可以了,这是一个简单得不能在简单的问题了。但如果问你启动一个Activity具体经过了哪些步骤,即时在同一App内调用startActivity是否用到了进程间通信呢?是不是有点蒙,我一个App内启动一个Activity还会用到进程间通信,要搞基(什么)?那么,我们就具体来看一看吧,
Activity启动大致流程:无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调用ActivityManagerService.startActivity接口;ActivityManagerService调用Activ
转载 2023-08-31 10:49:50
128阅读
1、ActivityRecord、TaskRecord、ActivityStack和ActivityDisplay介绍  本篇文章是基于Android refs/tags/android-9.0.0_r8分支的代码进行分析的   在分析Activity启动的源码之前先介绍一下Activity的一些基本概念。1.1 Activity和Task  关于Android中Activity和Task的介绍,
转载 2024-01-31 18:23:26
22阅读
以前看了很多,时间长了都忘了,所以还是勤快点,把看到的都记下来,算是给自己点积累
转载 2023-01-05 13:02:09
117阅读
前言前一篇介绍了在启动页面的时候创建进程的过程,当进程创建完成之后就会调用App的ActivityThread.main 方法。一、mian// ActivityThread类 public static void main(String[] args) { ... // 省略一些初始化代码 Looper.prepareMainLooper(); ActivityTh
转载 2023-07-02 13:53:32
313阅读
考察要点:启动Activity会经历哪些生命周期回调冷启动大致流程,涉及哪些组件,通信过程是怎么样的?Activity启动过程中,生命周期回调的原理?总的流程图:1. 进程A与AMS的交互过程此处以跨进程启动Activity分析一下源码流程:A调用startActivity时,需要与AMS交互,此时需要需要获取到AMS的代理对象Binder也就是上图的AMP,通过ActivityManagerNa
原创 2021-11-30 10:41:20
289阅读
此篇完全照抄,后续会有增加面试必备:Andro继承了哪些类?其实一直追踪下去,你就会发现其实Launcher调
原创 2023-06-02 21:21:31
435阅读
# Java Activity 启动流程解析 在Java特别是Android应用开发中,Activity是构成用户界面的重要部分。了解Activity启动流程对新手开发者尤为重要。本文将通过一个简单的流程图、代码示例以及详细的步骤说明,帮助你理解Android Activity启动流程。 ## Activity 启动流程 下面的表格展示了Android Activity启动流程,从应用
原创 2月前
16阅读
这个只是本人的一些临时记录,大家可以不用查阅 如果想要学习,我推荐Android进阶——Android四大组件启动机制之Activity启动过程 这篇文章首先会从Activity.StartActivity中调用startActivityForResult方法startActivityForResult内部会通过Instrumentation(仪器)这个工具类。去调用mInstrumen
转载 2023-06-25 19:51:42
326阅读
当我们在桌面点击app和app内部启动Activity时都会调用到Activity中的startActivityForResult方法public void startActivityForResult(@RequiresPermission Intent intent, int requestCode, @Nullable Bundle options) {
转载 2023-08-06 18:44:09
75阅读
本文的重点是总结Activity启动过程中的几个关键点与相关逻辑所在的源码位置,具体的启动流程调用链真的很长,所以我还是按照我之前的方式来做,带着问题去找相关的代码逻辑。Activity启动流程应用通过startActivity或是startActivityForResult方法向ActivityManagerService发出启动请求。ActivityManagerService接收到启动请求
转载 2023-06-25 19:52:24
548阅读
前言在这篇文章中,将会基于android 26源码上分析Activity启动到显示到屏幕和Decorview添加到Window中的过程。另外在本文中,省略了很多内容,目的只是从源码中找到一条启动的线索。迟点再补充上流程图。从startActivity开始说起在应用层开发时,Acitvity跳转会写出下面的代码:public static void startAtcivity(BaseActivi
转载 2023-07-25 23:01:50
229阅读
Activity启动分为两种:根Activity启动按下桌面的程序快捷图标,启动应用程序的第一个Activity的过程,因此根Activity启动过程也可以理解为应用程序的启动过程。普通Activity启动程序内从一个Activity打开另外一个Activity的过程的启动。 Activity大体启动流程主要涉及四个进程:Launcher进程,也就是桌面进程系统服务进程,AMS所
前言最近因为工作的原因,需要了解Activity启动流程,网上找了很多,但是没有找到一遍关与Android13的,于是我决定自己写一篇。在学习的过程中,发现这个流程实在太复杂,如果面面俱到估计所需篇幅太长,本文篇幅有限,目前我就来谈谈我所了解的,如果有错误,欢迎大家留言指正。网上有一张基于Android6画的流程图如下: 画得很不错,我自己基于这张图画了一个Android13的:&nb
转载 2023-09-19 17:28:30
250阅读
备忘:将Activity注册为启动Activity。在AndroidManifest.xml中的<application>元素中加入以下<activity>子元素内容:<activity android:name=".Main"> <intent-filter> &lt
转载 2023-06-14 22:27:51
156阅读
 zygote是什么?有什么作用? zygote意为“受精卵“。在Android系统里面,zygote是一个进程的名字。Android是基于Linux System的,当你的手机开机的时候,Linux的内核加载完成之后就会启动一个叫“init“的进程。在Linux System里面,所有的进程都是由init进程fork出来的,我们的zygote进程也不例外。 所以当系
  • 1
  • 2
  • 3
  • 4
  • 5