Android程序的执行流程分析
2016-02-21 10:18
393 查看
《大话企业级Android应用开发实战》这是一本能够让你学出幸福感并在还没有学完时就能够胜任Android应用软件工程师工作的书。本书所有的内容都是基于企业内部的Android实际开发需要和问题而著。本节为Android程序的执行流程分析。
AD:
10.3 Android程序的执行流程分析
经过前面对Android项目目录结构的介绍以及相关文件的讲解,我们对许多细节已经有所了解,只是Android程序是如何执行的呢?下面进行总结。
发布程序到手机上之后,当双击"抽屉"里该应用的图标时,系统会将这个事件包装成一个Intent,该Intent包含两个参数,代码如下:
{action :"android.intent.action.MAIN",
category :"android.intent.category.LAUNCHER" },
这个意图被传递给Hello World这个应用之后在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据<activity>元素的"name"属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行该类的onCreate方法,此OnCreate方法是重写其父类Activity的OnCreate方法。此方法用来初始化Activity实例对象。以下是HelloWorld.java
类中onCreate方法的代码。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的OnCreate方法来实现对界面的画图绘制工作。在实现自己定义的Activity子类的OnCreate方法时一定要记得调用该方法,以确保能够绘制界面。
SetContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是"R.layout.main",其含义为R.java类中静态内部类layout的静态常量main的值,而该值是一个指向"res"目录下的"layout"子目录下main.xml文件的标识符。因此代表着显示main.xml所定义的画面。
关于Activity类的执行流程及其生命周期会在后面的部分详细讲解。
Android程序执行的整个序列图如下图所示。
AD:
10.3 Android程序的执行流程分析
经过前面对Android项目目录结构的介绍以及相关文件的讲解,我们对许多细节已经有所了解,只是Android程序是如何执行的呢?下面进行总结。
发布程序到手机上之后,当双击"抽屉"里该应用的图标时,系统会将这个事件包装成一个Intent,该Intent包含两个参数,代码如下:
{action :"android.intent.action.MAIN",
category :"android.intent.category.LAUNCHER" },
这个意图被传递给Hello World这个应用之后在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据<activity>元素的"name"属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行该类的onCreate方法,此OnCreate方法是重写其父类Activity的OnCreate方法。此方法用来初始化Activity实例对象。以下是HelloWorld.java
类中onCreate方法的代码。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的OnCreate方法来实现对界面的画图绘制工作。在实现自己定义的Activity子类的OnCreate方法时一定要记得调用该方法,以确保能够绘制界面。
SetContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是"R.layout.main",其含义为R.java类中静态内部类layout的静态常量main的值,而该值是一个指向"res"目录下的"layout"子目录下main.xml文件的标识符。因此代表着显示main.xml所定义的画面。
关于Activity类的执行流程及其生命周期会在后面的部分详细讲解。
Android程序执行的整个序列图如下图所示。
相关文章推荐
- Android性能优化系列——Performance Tips
- Android多线程线程池(创建四种线程池)
- 2015年Android开发新技术小结
- ANDROID_MARS学习笔记_S04_001_OAuth简介
- ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3
- 基础 Android 开发规范整理
- 【Android】11.3 屏幕旋转和场景变换过程中GridView的呈现
- 【Android】11.2 通过重写对应的方法保存和恢复实例的状态
- android中把APK用platfrom签名
- 【Android】11.1 Activity的生命周期和管理
- 【Android】11.0 第11章 活动和片段--本章示例主界面
- Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
- 使用工具来提升Android开发效率
- Android读取assets中的文件
- Android自定义Toast总结(下)
- Android OS体系结构详解
- 《Android源码设计模式》读书笔记 (9) 第9章 责任链模式
- android筛选菜单实现
- Android中的5种数据存储方式
- Android Wear 进阶 5 - Creating Watch Faces 创建手表的界面(表盘)