在AndroidManifest.xml文件中的元素中有这么两句:

当写好的应用发布到手机上之后,当双击”APP“应用的图标时,系统会将这个点击时间包装成一个Intent,该Intent包含两个参数,如上所述的两个参数

被传递给应用之后,在应用的功能清单文件中寻找与该意图匹配的意图过滤器,

如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据

元素的”name“属性来寻找其对应的Activity类。接着,A

ndroid操作系统创建该Activity类的实例对象,对象创建完成之后,会执行到该类的onCreate方法,

此onCreate方法是重写父类Activity的onCreate方法而实现的。onCreate方法用来初始化Activity实例对象。如下是helloWorld.java类中的onCreate方法的代码:

public void onCreate (Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作。

在实现自己定义的Activity子类的onCreate方法时一定要记得调用该方法,以确保能够绘制界面。

super.onCreate主要是加载一些组件。

第一件事情便是super.onCreate(savedInstanceState),其实这条语句放在子类中的onCreate方法中的任何位置都可,问题只是

super.onCreate(savedInstanceState)必须要被执行,所以,最好也就是放在第一行,看起来比较明确。

在TargetActivity中重写了onCreate方法,而在Activity中的onCreate方法中已经对一些基本的基础进行了操作,如果子类没有super.onCraete方法的调用,会导致子类中的onCreate方法功能不全,从而出现错误。

在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!,被KILL掉了,,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanceState的作用。

当一个Activity在PAUSE时,被kill之前,它可以调用

onSaveInstanceState()来保存当前activity的状态信息(在paused状态时,要被KILLED的时候)。用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState() and onCreate().

setContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是”R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,

而改值是一个指向res目录下的layout子目录下的main.xml文件的标识符。因此代表着显示main.xml所定义的画面。

参考文档

http://www.android100.org/html/201406/10/23627.html

http://wenku.baidu.com/link?url=uXM2Tc7WljK5aiHTT9EqxK3XFlKByzBxdIjG1fcSw5blZJeRmAu5-gvHOWD8msSwKOWuD8OHhJ6iKlAUfULfQ18Od-UsabnHIaKy2ImCsy_

android oncreate调用,Android app启动activity并调用onCreate()方法时都默默地干了什么?...相关推荐

  1. android hook 模拟点击_手把手讲解 Android Hook-实现无清单启动Activity

    手把手讲解系列文章,是我写给各位看官,也是写给我自己的. 文章可能过分详细,但是这是为了帮助到尽量多的人,毕竟工作5,6年,不能老吸血,也到了回馈开源的时候. 这个系列的文章: 1.用通俗易懂的讲解方 ...

  2. 【Android】之【App启动】

    一.启动方式 Android 应用的启动方式大概分为热启动.冷启动.温启动三种,关于冷启动.热启动.温启动三者启动方式对比可以参考下面的流程图学习. 1.1 冷启动 冷启动具有耗时最多,衡量标准的特征 ...

  3. android源码学习- APP启动流程(android12源码)

    前言: 百度一搜能找到很多讲APP启动流程的,但是往往要么就是太老旧(还是基于android6去分析的),要么就是不全(往往只讲了整个流程的一小部分).所以我结合网上现有的文章,以及源码的阅读和调试, ...

  4. Android 7.0 ActivityManagerService(2) 启动Activity的过程:一

    从这一篇博客开始,我们将阅读AMS启动一个Activity的代码流程. 自己对Activity的启动过程也不是很了解,这里就初步做一个代码阅读笔记,为以后的迭代打下一个基础. 一.基础知识 在分析Ac ...

  5. Android开发——手把手写APP(三)调用有道词典翻译API实现的翻译APP(详细备注解读)

    运行效果图 有道翻译的API http://fanyi.youdao.com/openapi.do?keyfrom=lewe518&key=70654389&type=data& ...

  6. android+闪屏启动优化,Android分享笔记(2) APP启动时闪屏

    App在启动时,即在欢迎界面.老是出现白屏或黑屏,闪一下然后才出现欢迎界面. 我欢迎界面原先是这样的:<?xml  version="1.0" encoding=" ...

  7. android adb shell am 可以用来启动activity ,而且可以通过-e 传入参数, 牛牛牛

    adb shell  am start -n com.android.systemui/com.android.systemui.usb.UsbDebuggingActivity -e fingerp ...

  8. android菜单键 r9,Android OPPO R9 后台 无法启动 Activity 问题

    一 .oppo后台无法启动activity 今天测试给我提bug ,OPPO 手机 应用退出后台后,无法接受视频通话界面,就是应用在后台,service中无法启动activity,找了各种问题,以为是 ...

  9. Android系统核心机制之APP启动的程序入口ActivityThread的简单介绍

    Android中为什么主线程不会因为Looper.loop()里的死循环阻塞? 标题是伪命题 参考资料 Android中为什么主线程不会因为Looper.loop()里的死循环卡死? 知乎 之前对这个 ...

最新文章

  1. uniapp 中如何使用echart_uniapp中如何引用echarts
  2. pytorch使用empty跟内建函数random_进行初始化Tensor
  3. 多喜临门,BCH币价应声上涨
  4. 【Spring源码】Spring中的AOP底层原理分析
  5. 点击切换div 的隐藏与显示
  6. Martix工作室考核题 —— 输入一串数字,按要求打印。
  7. 《面向对象软件工程》笔记(一)
  8. 【笔记篇】C#笔记2
  9. linux怎么切换不同版本的r,在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3
  10. java httpserver 多个接口_多个Servlet之间数据共享实现方案
  11. 总是忘记的oracle 函数
  12. 前端学习(1894)vue之电商管理系统电商系统之通过作用域插槽操作列
  13. CentOS6上Hadoop集群中服务器cpu sys态异常的定位与解决
  14. android 10 无线 电脑模式,Win10电脑和安卓手机无线互投教程
  15. 探索新技术经验分享(六)logicaldoc二次开发探索
  16. python编程输入法_用Python写一个拼音输入法
  17. Html的页面演变史02
  18. 将文件夹下的多个文件的内容合并到一个文件中
  19. Word文档Xml格式精简版
  20. 文字太多时给文本框添加滑动条——text + ContentSizeFitter + Scroll View

热门文章

  1. 笔记本接html后无声,外接显示器后没声音怎么回事
  2. ensp交换机划分VLAN的配置
  3. Python 简短代码:通过openpyxl将字典列表写入Excel
  4. js 限制输入类型为半角符号
  5. 获取详情API接口(抖音)
  6. Java面向对象游戏英雄 --盖伦
  7. SCCM-Rules 配置文档
  8. Google[您的时钟快了]
  9. Linux文本编辑器Vim操作命令汇总!
  10. 华为快充66w和40w有什么差别