http://blog.csdn.net/luoshengyang/article/details/6689748
简要整理:
context.startActivity()
|
Activity.java.startActivity()
|
Instrumentation.java.execStartActivity()
|
{当前应用程序主线程(context)—>binder,RemountBinder}
|
-------------通过binder,流程进入activityManagerService--------------------------
|binder
ActivityManagerNative.java
|
ActivityManagerService.java.startActivityMayWait()
|
{通过packageManger获得目标Activity的package,classnane}
|
ActivityStack.java.startActivityLocked()
|
ActivityStack.java.startUncheckedLocked()
|
{检查是否需要返回(即是否startActivityForResult()?),检查task是否存在(LauncherMode==Single_instance?)}
|
{新建TaskRecord.java}
|
{检查目标activity是否已经Resumed}
|
否,将当前Resumed界面标记为pause
|
ActivyThreadNative.java.ApplicationThreadProxy.schedulePaused()
|
ActivityThread.java.schedulePauseActivity()
|
ActivityThread.java.performPauseActivity()-->Activity.onPause()
|
ActivityManagerNative.activityPause()(通知am暂停界面)
|binder
ActivityManagerService.java.activityPause()
|
ActivityStack.java.activityPause()
|
ActivityStack.java.startSpecificActivitylocked()
|
{查询进程信息}
|
AcivityManagerService.startProcessLocked()-->fork()新进程
|
ActivityThread.java.main()
|
ActivityStack.realstartActivitylocked()
|
ApplicationThreadNative.java
|
ApplicationThread.java
|
ActivityThread.java.handleLaunchActivity()
|
ActivityThread.java.performLaunchActivity()
|
Activity.onCreate()
分享到:
相关推荐
在Android开发领域,源代码是理解应用程序工作原理和学习新技能的关键资源。"7个Android应用程序源代码-巅峰版"提供了宝贵的实践经验,帮助开发者深入掌握Android应用开发的各个方面。这个集合可能包含了各种类型的...
2. **Activity与Intent**:Activity是Android应用的基本组件,源代码会展示如何启动、跳转和管理Activity,以及Intent的使用,Intent用于在组件间传递数据和启动操作。 3. **数据存储**:Android支持多种数据存储...
这个“88个经典Android应用程序打包[源代码]”的资源集合,提供了丰富的学习材料,涵盖了从基础到进阶的各种Android应用开发示例。 1. **Android应用程序结构**: - Android应用程序由多个组件构成,包括Activity...
Android系统源代码是一个庞大的开源项目,包含了操作系统、运行时环境、应用程序框架以及各种应用程序。罗升阳在书中详细剖析了这些组成部分,让读者了解它们如何协同工作,以实现Android设备的功能。他首先从...
【标题】"CSDN客户端 Android新闻客户端 完整代码" 涉及的知识点主要集中在Android应用开发领域,特别是构建一个功能完善的新闻阅读应用程序。这个项目可能包含了以下几个关键的技术和概念: 1. **Android SDK**:...
这本书的源代码涵盖了1到5章的内容,对于深入理解Android应用开发的基础知识和实践操作具有极大的帮助。由于部分章节的源代码文件体积较大,为了适应上传限制,作者选择了使用7z这种高压缩比的压缩格式。 源代码的...
5. **实验分析和总结**:学生在完成上述步骤后,需要分析整个实验过程,比如安装配置过程中遇到的问题及其解决办法,以及在编写和运行HelloAndroid程序时的体验。此外,还需总结实验过程,如设置AVD的过程、调试技巧...
该资料是《Android高级编程》的源代码 对应的书籍资料见: Android高级编程 基本信息 原书名: Professional Android Application Development 原出版社: Wrox 作者: (英)Reto Meier 译者: 王鹏杰 霍建同 出版社...
本资源"Android开发应用从入门到精通-代码"旨在提供一个实践性的学习路径,帮助初学者和有一定经验的开发者深入理解Android应用程序的构建过程。以下是相关知识点的详细说明: 1. **Android SDK**:Android软件开发...
在Android平台上,实现应用的开机自启动和后台运行是一项常见的需求,这通常涉及到服务(Service)、广播接收器(BroadcastReceiver)以及系统权限的管理。在本文中,我们将深入探讨如何在Android 2.1及以上版本中...
要在实际项目中应用这个策略,你需要修改系统的源代码,编译并安装到设备上。由于这涉及到系统级别的更改,因此通常只适用于定制ROM或设备制造商。对于普通开发者,可以通过在运行时获取权限并调用相应的系统服务...
Android Studio提供了丰富的功能,如代码编辑、调试、性能分析以及项目构建工具,使得开发者可以高效地创建高质量的Android应用。在这个音乐播放器项目中,你将看到如何使用Android Studio来组织和管理代码文件,...
这款强大的IDE提供了丰富的功能,包括代码编辑、调试、构建、性能优化等,使得开发者能够高效地构建高质量的Android应用。 在“Android studio结课大作业”这个项目中,我们可以深入学习到Android Studio的使用技巧...
描述简洁明了,"Android应用源码之高仿微信"与标题相呼应,进一步确认这是一个关于通过源代码学习如何在Android平台上实现微信功能的教程或项目。通过这个项目,开发者可以学习到如何设计和实现聊天、朋友圈、个人...
【基于Android系统的日程管理应用】是一个专门为Android平台设计的日历和任务管理应用程序。它集成了数据库操作,包括增、删、改、查等基本功能,以存储和管理用户的日常事务。此外,该应用还具备闹钟提醒功能,能够...
源代码中可能涉及到Android的各个层次,从应用程序框架到运行库,再到硬件抽象层,对这些层面的理解能帮助开发者写出更高效、更稳定的应用。 2. **UI设计与布局**:Android应用的界面设计是开发者必须掌握的重要...
UML(统一建模语言)中的活动图或序列图是很好的选择,它们能清晰地展示应用程序从启动到关闭的各个步骤,以及各组件间的交互。 4. **代码注释**:良好的注释是代码质量的体现,有助于团队协作和后期维护。在关键的...
2. **项目结构**:在创建项目后,你会看到如下的目录结构:`app`模块包含了`src`(源代码)、`res`(资源文件)、`build.gradle`(构建配置)等。`src`中的`main`目录下有`java`和`res`,分别存放Java代码和资源文件...