进程内启动Activity
  1. MainActivity组件向ActivityManagerService发送一个启动SubActivityInProcess组件的进程间通信请求;
  2. ActivityManagerService首先将要启动的SubActivityInProcess组件的信息保存下来,然后再向MainActivity组件发送一个进入终止状态的进程间通信请求;
  3. MainActivity组件进入到中止状态后,向ActivityManagerService发送一个已进入中止状态的进程间通信请求,以便ActivityManagerService可以继续执行启动SubActivityInProcess组件的操作;
  4. ActivityManagerService发现用来运行SubActivityInProcess组件的应用程序已经存在,将第2步保存下来的SubActivityInProcess组件信息发送给应用程序进程,以便它可以将SubActivityInProcess组件启动起来;
  5. ActivityManagerProxy.startActivity
  6. ActivityManagerService.startActivity
  7. ActivityStack.startActivityMayWait
  8. ActivityStack.startActivityLocked
  9. ActivityStack.startActivityUncheckedLocked
  10. ActivityStack.resumeTopActivityLocked
  11. ActivityStack.startPausingLocked
  12. ApplicationThreadProxy.schedulePauseActivity
  13. ApplicationThread.schedulePauseActivity
  14. ActivityThread.queueOrSendMessage
  15. H.handleMessage
  16. ActivityThread.handlePauseActivity
  17. ActivityManagerProxy.activityPaused
  18. ActivityManagerService.activityPaused
  19. ActivityStack.activityPaused
  20. ActivityStack.completePauseLocked
  21. ActivityStack.resumeTopActivityLocked
  22. ActivityStack.startSpecificActivityLocked
  23. ActivityStack.realStartActivityLocked
  24. ApplicationThreadProxy.scheduleLaunchActivity
  25. ApplicationThread.scheduleLaunchActivity
  26. ApplicationThread .queueOrSendMessage
  27. H.handleMessage
  28. ActivityThread.handleLaunchActivity
  29. ActivityThread.performLaunchActivity
  30. SubActivityInProcess.onCreate
 
新进程中启动Activity

Android源码——Activity进程内启动的更多相关文章

  1. Android源码——Activity组件的启动过程

    根Activity启动过程 Launcher启动MainActivity的过程主要分为6个步骤: 一.Launcher向ActivityManagerService发送一个启动MainActivity ...

  2. android studio应用修改到android源码中作为内置应用

    1. 方法一:导入,编译(太麻烦,各种不兼容问题) android studio和eclipse的应用结构目录是不同的,但是在android源码中的应用基本上都是使用的eclipse目录结构(在/pa ...

  3. android源码解析(十七)-->Activity布局加载流程

    版权声明:本文为博主原创文章,未经博主允许不得转载. 好吧,终于要开始讲讲Activity的布局加载流程了,大家都知道在Android体系中Activity扮演了一个界面展示的角色,这也是它与andr ...

  4. Android:源码环境下移植第三方的apk内置到ROM(System Image)中

    1. 首先在vendor目录下新建一个the3rdapk的目录,将需要内置的apk丢进去,目录名自己随意定. 2. 在 build/target/product/common.mk最后面,在$(cal ...

  5. Android4.0源码Launcher启动流程分析【android源码Launcher系列一】

    最近研究ICS4.0的Launcher,发现4.0和2.3有稍微点区别,但是区别不是特别大,所以我就先整理一下Launcher启动的大致流程. Launcher其实是贯彻于手机的整个系统的,时时刻刻都 ...

  6. 【转】如何定制android源码的编译选项 & 后期安装? ---- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd0100z3o9.html Android编译过程比较长,配置起来也很麻烦.现仅就工作遇到的问题做个总结.所用硬 ...

  7. Android源码分析(八)-----系统启动流程&IPC简述

    一 :系统启动流程图 从下往上依次启动linux kernel -->zygote-->SystemServer-->NativeService-->AndroidServic ...

  8. Android源码阅读 – Zygote

    @Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.ht ...

  9. Android源码剖析之Framework层升级版(窗口、系统启动)

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 看本篇文章之前,建议先查看: Android源码剖析之Framework层基础版 前面讲了frame ...

随机推荐

  1. MYSQL数据库导入出错:#1046 - No database selected

    今天遇到的mysql导入Navivat for MySql,总是出错,搞了一会才记起没有创建同名的数据库,然后还是导不进去,原来是要在建立的同名的数据单击右键---->运行Sql文件--> ...

  2. wamp集成环境开启rewrite伪静态支持

    wamp集成环境在安装完后,默认是没有开启伪静态的,所以有时把项目部署进去时如果源码里包含.htaccess文件的话,可能会出现500错误,这一般是因为不支持伪静态造成的,解决这个问题的办法就是开启伪 ...

  3. Atitit.uke 团队建设的组织与运营之道attilax总结

    Atitit.uke 团队建设的组织与运营之道attilax总结 1. intro引言:2 2. aims组织成立宗旨2 1.1. Mission组织使命2 1.2. val核心价值观2 1.3. c ...

  4. android 自定义控件——(二)圆形按钮,圆形View

    ----------------------------------↓↓圆形按钮,圆形View(源代码下有属性解释)↓↓---------------------------------------- ...

  5. Windows API 函数列表 附帮助手册

    所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...

  6. 实时观察Apache访问情况的工具Apachetop

    Linux服务器的负载.进程等信息可以通过top命令查看.而Apache的运转如何实时的观察呢?“tail -f”log文件?这是个好方法,但是太累了! 所以,感谢Chris Elsworth为我们提 ...

  7. tomcat linux下的部署安装

    Tomcat在Linux上的安装与配置 转自http://blog.csdn.net/gyming/article/details/36060843     以下使用的Linux版本为: Redhat ...

  8. .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现

    场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组. 问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距 分析:平台不 ...

  9. 【java开发】ubuntu常用命令及环境搭建

    学习第一天,今天内容相对简单,主要就是ubuntu一些常用命令及常规操作,后续涉及到环境的搭建,也会在本文再更. ubuntu环境搭建 第一种 也是最简单最方便的 通过vm虚拟机软件,下载iso镜像进 ...

  10. 解决mybatis foreach 错误: Parameter '__frch_item_0' not found

    解决mybatis foreach 错误: Parameter '__frch_item_0' not found 在遍历对象的属性(是ArrayList对象)时报错: org.mybatis.spr ...