【小王的安卓之路】Android安卓入门之Activity(活动)及其生命周期

Activity-活动:

  • 1.Activity是什么?

  • 2.Activity的七大生命周期

  • 3.Activity的生老病死

  • 4.多个Activity交互时生命周期的变化

  • 5.Activity的主要启动方式

一. Activity是什么?

官方文档是这样说的:

Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。
每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。

通俗一点的说,Activity就是你打开手机APP所看到的一切。它是四大组件中负责与用户进行交互的那一个,一般来说一个APP通常由一个或多个Activity组成,它们之间可以相互调用,共同完成用户的操作。

二.Activity的七大生命周期

之所以Activity要赋予它生命周期,是因为用户的手机屏幕和CPU计算能力是有限的(盲目猜测)。为了合理运用资源,必须要给Activity加上生命周期才可以。Activity可以按照其不同的状态划分为7个生命周期并对应7个回调方法,分别为:

  1. Create ------onCreate()//看不见此过程,系统在加载布局文件
  2. Start------onStart()//看得见,布局加载完以后,启动了Activity
  3. Resume------onResume()//看得见,活动准备好和用户进行交互,处于屏幕和活动栈的顶端
  4. Pause------onPause()//看得见//活动被其他看得见的或者看不见的活动或控件遮盖,导致活动暂停
  5. Stop------onStop()//看不见,活动停止
  6. Destory------onDestory()//活动销毁
  7. ReStart------onReStart()//活动重启

三.Activity的生老病死

创建一个Activity(onCreate())-------->>>>启动Activity( onStart())-------->>>>显示到手机屏幕(onResume())
------->>>>活动暂停(onPause())-------->>>>活动停止(onStop()){-------->>>>活动重启(onReStart( ))可能情况} -------->>>>活动销毁(onDestory())

四.多个Activity交互时生命周期的变化

官方文档里详细说明了Activity 的生命周期,如下图:

【小王的安卓之路】Android安卓入门之Activity(活动)及其生命周期_第1张图片
可以看出当有一个Activity显示在屏幕顶端时,如果此时调用另外一个活动,我们当前的活动就会调用自己的onPause()方法来让自己暂停,然后调用自己的onStop()方法来让自己停止,并保留自己的状态。此时另外一个新的活动就会一次调用自己一系列的方法来让自己处于屏幕顶端。而当我们点击返回按钮时,如果原来的活动没有被销毁。那我们并不会重新创建活动,而是直接启动那个活动,并让它显示出来。如果一个活动太久没别调用,那么就会被回收,让你下次调用它时,就得重新创建这个活动。

五.Activity的主要启动方式

https://developer.android.google.cn/guide/components/activities/#StartingAnActivity //官方文档描述
Activity的启动方式主要分为以下两种:

  • 显式启动
  • 隐式启动

1.显式启动:
就是利用Intent来实现从本活动跳转到目标活动。在ManiFest.xml文件里指定了APP启动时会首先调用哪个Activity,这个Activity我们一般叫做MainActivity。

显式启动代码示例如下:

  Intent intent = new Intent(FirstActivity.this, SecondActivity.class);//Intent中文叫做意图,我的下一篇文章中会提到
  startActivity(intent);

2.隐式启动:
就是当你需要调用一下你的程序所没有实现的功能时(比如打电话,闹钟,地图等),就需要调用别人的Activity 来帮忙。而其调用方式是不指定具体调用哪个Activity,而是指定调用你要的Action(动作),那个活动可以实现这个Action,那它就会被调用。而当有多个Activity满足你要的Action时,安卓系统就会把它们罗列出来供你选择。这也就是我们平时从文件管理器中打开一个音频或者视频文件时,系统会让你选择打开方式的原理。同样,我们在制作一些通用性较强的活动时,也可以声明自己的Action,这样当别人的APP需要执行一个Action时,你的APP也会成为选择之一。

//第一次写博客,写的比较粗糙。很多东西没能用实际的例子来讲,以后会继续更新和改进。我是不会打代码的小王。谢谢观看。【小王的安卓之路】Android安卓入门之Activity(活动)及其生命周期_第2张图片

你可能感兴趣的:(安卓菜鸟)