源码基于:Android R0. 前言之前一篇博文(Android 的init过程详解)中记录了init启动过程,后来另一篇(Android init.rc详解 )中记录了init.rc的解析过程,android详细的启动过程,就需要将所有的init rc文件解剖之后,从action到service挨个分析。这里记录一下zygote的启动过程。1. zygote起点system/core            
                
         
            
            
            
            # Android 12 Activity启动源码分析
## 1. 概述
在这篇文章中,我们将探讨如何分析 Android 12 中的 Activity 启动源码。作为一名经验丰富的开发者,我将指导你完成这个任务。我们将使用一系列步骤来实现这个目标,并通过代码注释来解释每个步骤的含义。
## 2. 流程
下表展示了整个过程的流程:
| 步骤 | 描述 |
| --- | --- |
|            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-08 06:15:18
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一般来讲,Android开发人员会使用反射调用Acticity中的mReferrer字段来获            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-04 19:49:57
                            
                                167阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:vivo互联网客户端团队-Chen Long一般来讲,Android开发人员会使用反射调用Acticity中的mReferrer字段来获取跳转来源的包名,但是这种方案是否真的安全呢?我们从源码中来寻找答案。前言mReferrer从哪里来搜索mReferrer,来源回溯使用断点调试跟踪调用栈断点调试对象实例化过程远程服务Binder调用分析万能的搜索并不万能如何避免包名被伪造关注Pid和Ui            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-12-20 22:03:43
                            
                                104阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一般来讲,Android开发人员会使用反射调用Acticity中的mReferrer字段来获取跳转来源的包名,但是这种方案是否真的安全呢?我们从源码中来寻找答案            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2021-11-16 09:41:55
                            
                                1302阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Activity中其中startActivity这个大家应该是非常熟悉的;那么从service里面调用startActivity话,会怎么样呢?会出现下面的异常:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the F            
                
         
            
            
            
            Activity 启动源码分析 ( Activity -> AMS 阶段 )            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 09:39:03
                            
                                336阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、ActivityThread 、二、ActivityThread 绑定 ApplicationThread、三、AMS attachApplication -> attachApplicationLocked、四、ApplicationThread.bindApplication、五、H 处理 BIND_APPLICATION 消息、六、ActivityThread.handleBindApplication、七、LoadedApk.makeApplication、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 09:41:15
                            
                                670阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言、一、ActivityManagerService.attachApplicationLocked、二、ActivityStackSupervisor.attachApplicationLocked、三、ActivityStackSupervisor.realStartActivityLocked、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 09:41:15
                            
                                283阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言熟悉Activity的启动流程和运行原理是一个合格的应用开发人员所应该具备的基本素质,其重要程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-08-04 11:38:13
                            
                                118阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言、一、ActivityThread 类 handleLaunchActivity -> performLaunchActivity 方法、二、Instrumentation.newActivity 方法、三、AppComponentFactory.instantiateActivityCompat方法、四、ActivityThread.performLaunchActivity 方法后续细节、五、Instrumentation.callActivityOnCreate 方法、总结、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 09:39:04
                            
                                221阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            问题描述做Android开发的朋友们都熟悉这个方法:setContentView(R.layout.activity_main);喜欢思考的朋友们肯定想知道为什么一上来就要执行这个方法呢???问题剖析我们按住 ctr 并用鼠标右键setContentView(R.layout.activity_main)            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-16 15:18:44
                            
                                532阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言、一、ClientTransactionHandler.scheduleTransaction、二、ActivityThread.H 处理 EXECUTE_TRANSACTION 消息、三、TransactionExecutor execute -> executeCallbacks 方法、四、LaunchActivityItem.execute、总结、            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-08 09:39:03
                            
                                333阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Android 2.1 源码结构分析(这是地址:不是SVN而是git Android 2.1 |-- Makefile |-- bionic                        (bionic C库) |-- bootable&n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-01 11:42:31
                            
                                188阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言Activity 类是 android 应用的关键组件,在日常开发中,绝对少不了组件。既然用了这么久,你知道他的启动流程??作为一个应用层开发者,大多数人可能觉得学习这些对日常开发可能没有太大帮助。但是多了解一下 framework 的代码还是很有必要的,了解系统组件机制,对于一些问题我们也能快速的定位找到问题的所在点,并且在面试的时候也是一个加分项。本文基于 Android 12 版本源码,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-22 10:28:07
                            
                                596阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文聚焦于Glide的源码,基于Glide4.11.0一、简介Glide的GitHubGlide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。1. 简单使用1、添加依赖:repositories {
  google()
  jcenter()
}
dependenc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-21 10:44:58
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、梳理源码流程干什么Activity是四大组件中最重要的组件之一,下面来分析Activity的启动过程,了解Activity的启动过程能帮助我们更好的对组件Activity的理解,也能帮助我们更好的把控Activity生命周期的变化过程。当然Activity作为四大组件之首,10.0版本的Activity的代码函数在8000行,关联的一些类Instrumentation、ActivityTask            
                
                    
                        
                                                            
                                                                        
                                                                推荐
                                                                                        原创
                                                                                    
                            2021-11-07 12:55:41
                            
                                845阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、梳理源码流程干什么Activity是四大组件中最重要的组件之一,下面来分析Activity的启动过程,了解Activity的启动过程能帮助我们更好的对组件Activity的理解,也能帮助我们更好的把控Activity生命周期的变化过程。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-11-11 13:36:23
                            
                                283阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            总结:Activity的启动过程,我们可以从Context的startActivity说起,其实现是ContextImpl的startActivity(内部调用startActivityForResult),然后内部会通过Instrumentation来尝试启动Activity,这是一个跨进程过程,它会调用ams的startActivity方法,当ams校验完activity的合法性后,会通过Ap            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-03 13:42:26
                            
                                126阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            app进程通过ActivityManager.getService (高版本)或者 ActivityManagerNative.getDefault(低版本)返回的IActivityManager来调用系统进程AMS中的方法。该IActivityManager是AMS在app进程的binder代理对象同样,系统进程通过ProcessRecord.IApplicationThread调用app进程相            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-05-05 12:13:00
                            
                                707阅读
                            
                                                                                    
                                2评论