Android中启动Activity(startActivity)流程图分析

Android Activity的启动流程(Android-10) 深入认识startActivity(Intent) 阅读详情

                                                                                                                        

                                                                           

                                                                                        本文原创 ,转载必须注明出处 :http://blog.youkuaiyun.com/qinjuning

    

         在上篇博文< Android中ActivityManagerService与应用程序(客户端)通信模型分析>中,我们从宏观架构上掌握

   ActivityManagerService与应用程序通信的基本模型,今天继续给大家分析下startActivity,即启动一个Activity的流程分析。

 

 

        因为需要处理很多相关数据状态,从整体上来说,startActivity还是有点复杂的,但是理解了基本原理,一步一步摸透它,

  也是 Just So So的。

 

 

      首先、我们从流程图上掌握startActivity的宏观过程:

 

                                   

 

 

 

 

       接着,木有了,本来是准备从代码走读角度讲startActivity()过程流程以及相关函数功能给整理出来,后来发现功能太大了,

  在加上自己才疏学浅,留待以后再续吧。推荐两个我经常看的资源:

                    1、 《Android内核剖析》                                                (书籍----人类进步的阶梯)

                    2、老罗的《Android应用程序启动过程源代码分析》           ( 基于android 2.3 版本)

 

  

      算是聊表心意吧 。希望大家能耐着性子仔细阅读源码。大家都是这么过来的。

 

 

 

 

 

 

面试官: 请你讲下AMS在Android起到什么作用…… AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其职责与操作系统中的进程管理和调度模块相类似,因此它在Android中非常重要。AMS是碰到的第一块难啃的骨头[①],涉及的知识点较多。为了帮助读者更好地理解AMS,接下来将带小伙伴么按五条不同的线来分析它。第一条线:同其他服务一样,将分析SystemServer中AMS的调用轨迹。第二条线。 阅读详情

相关推荐

Vivado FIR Complier_IP核使用方法

文章依靠该IP核对应手册PG149写的,因为笔者需求简单,没有深入挖掘功能,可以自行下载学习。

2302_80180551的博客 3985

深入理解Android中的startActivity过程

本文探讨了Android中的startActivity过程,涵盖了请求发起、处理、目标Activity的创建、实例化、显示等关键步骤。通过理解这个过程,我们可以更好地掌握Activity的管理机制。

陆业聪 4584

去面试游戏测试工程师,面试官看着我的简历呆住了

!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

MXB1220的博客 7327

Android---StartActivity启动过程

文本详细介绍了 Activity 的启动在源码中的实现流程。这一过程主要涉及 3 个进程间的通信过程:进程 A 通过 Binder 调用 AMS 的 startActivity 方法;AMS 通过一系列的计算构造目标 Intent,然后在 ActivityStack 与 ActivityStackSupervisor 中处理 Task 和 Activity 的入栈操作;AMS 通过 Binder 机制,调用目标进程中 ApplicationThread 的方法来创建并执行 Activity 生命周期方法。

qq_44950283的博客 2088

STM32H750实战:如何用CubeMX配置NAND Flash时序(附常见问题排查)

本文详细解析了STM32H750通过CubeMX配置NAND Flash时序的实战技巧,包括硬件连接、时序参数计算与优化策略,以及常见问题如RGB屏幕干扰、多片选冲突的解决方案。特别针对NAND Flash的时序配置和抗干扰设计提供了实用代码示例和优化建议,帮助开发者提升系统稳定性和性能。

weixin_29176179的博客 363

RK3588开发笔记-ES8311音频芯片调试记录

本篇博客主要记录如何在RK3588平台试ES8311音频芯片的过程。这包括硬件连接、内核配置、驱动程序调试和测试步骤。通过以上步骤,我们成功在RK3588平台上调试了ES8311音频芯片。这包括硬件连接、内核配置、设备树配置、驱动加载以及音频测试。希望这篇调试记录能为其他开发者提供一些帮助。如果你有任何问题或建议,欢迎留言讨上调论。

flypig has a dream! 3161

Android startActivity流程

mParent.startActivityFromChild内部调用的也是mInstrumentation.execStartActivity。mInstrumentation.execStartActivity会调用ATMS的。进入Activity的startActivityForResult方法。startActivity调用startActivityAsUser。进入Activity的startActivity方法。如果父activity不存在就调用。如果父activity存在就调用。

xiaowang_lj的博客 762

【DRAM存储器六十二】DDR5介绍--引脚和基本功能简介

详述DDR5与DDR4的引脚区别和DDR5基本功能

highman110的博客 523

Android应用程序启动流程之从startActivity开始

Android系统中,应用程序是由框架创建的。通过startAcitivty函数可以启动一个应用程序,那么,startActivity到底做了些什么,以至于这样一个简单的几行代码就能调用起一个应用程序。本节分析startActivity的执行流程。

记录和分享程序人生的点点滴滴 6119

2021-10-29【微生物】丨基于qiime2工具16S/ITS分析全套流程(上)

目录摘要工具与方法使用命令结果展示总结二级目录三级目录 摘要 前两个月项目特别多,最近终于有机会闲下来写点文章,把之前搭建的流程梳理一遍。前同事分析16S/ITS使用的qiime1,我接手后感觉不太适应,希望能够使用新版本来搭建,于是花了几天时间重新搭了这个流程, 工具与方法 使用工具:qiime2 使用版本:qiime2-2021.4 参考文档:https://docs.qiime2.org/2021.4/(最新版本2021.8) 使用命令 在这里插入代码片 结果展示 总结 二级目录 三级目录 ...

1万+

OmniBox2.0.X版本 一站式影视订阅与多端播放平台文档

OmniBox 是一站式影视订阅与多端播放平台:你可以用 JS 或 Python 按 OmniBox 规范自建爬虫源,在后台把多个爬虫源自由组合成订阅,然后在网页、手机、电视等全平台的客户端里使用。只要客户端支持 TVBox、猫源、UZ、Emby 等协议,即可无缝对接。同时支持电视直播源、六大平台直播间和网盘源视频在线观看,通过 Docker 一键部署。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1903

Activity启动流程(Android 10源码分析)

下面的源码分析,将按照上图的流程图一步一步分析 一、启动进程 启动Activity先从startActivity开始,点进startActivity进入ContextWrapper类中,↓ @Override public void startActivity(Intent intent) { mBase.startActivity(intent); } 上图中mBase对象是Context,Context的实现类为ContextImpl,进入Conte..

he先森的博客 4374

Simulink智能驾驶场景探索:自动泊车系统设计与验证

自动泊车系统(APS)传感器模块:用于检测车辆周围的障碍物和其他车辆的位置。路径规划模块:根据传感器数据生成最优的泊车路径。控制器模块:根据路径规划结果生成转向角、速度等控制信号。执行器模块:根据控制器生成的信号调整车辆的方向盘、油门和刹车。在本实例中,我们将使用超声波传感器和摄像头来检测车辆周围的环境,并使用PID控制器实现自动泊车功能。通过本教程,我们介绍了如何使用 Simulink 进行自动泊车系统的仿真。背景介绍:理解自动泊车系统及其在智能驾驶中的应用。所需工具和环境。

MHD0815的博客 505

Android13 Activity启动流程

Android 13 Activity最详启动流程

ss520k的专栏 6367

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Activity启动流程(基于Android10附关键代码及流程图)

我们在平常开发的过程中,想启动一个Activity怎么办?startActivity(Intent intent)就可以了,这是一个简单得不能在简单的问题了。但如果问你启动一个Activity具体经过了哪些步骤,即时在同一App内调用startActivity是否用到了进程间通信呢?是不是有点蒙,我一个App内启动一个Activity还会用到进程间通信,要搞基(什么)?那么,我们就具体来看一看吧,也许这种知识在99%的开发中我们都不可能会用到,但多了解一些对我们也没什么坏处吧。 先上一张启动调用图吧,有点乱

calm1516的专栏 895

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android Activity 的详细启动过程分析

Android Activity 的详细启动过程分析 在正式内容开始之前,我建议读者朋友下载platform/framework/base源代码备用,我们可以到 Android 源码托管站下载:https://android.googlesource.com/,可以下载具体某个模块源代码,可以指定分支或者 tag,需要翻阅 GFW。 另外如果你没有翻阅 GFW 的条件的话,可以使用清华大学镜像...

zjy764219923的专栏 1692

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Activity启动流程分析

activity启动流程

wangadping的博客 632
上一篇: Android中ActivityManagerService与应用程序(客户端)通信模型分析
下一篇: Android中Context详解 ---- 你所不知道的Context
qinjuning
博客等级 码龄18年 5288粉丝 43原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值