【Android】 Activity Lifecycle

1.前言

之前面试过程中,被问到过Activity Lifecycle的相关知识,答的不好,所以今天特意总结学习一下。

2.Activity Lifecycle图解

【Android】 Activity Lifecycle_第1张图片

3.生命周期中的六个阶段

一个完整的Activity Lifecycle包括六个阶段,在实际中即为六个方法:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy().

  • onCreate()方法——Activity首次创建时最先被调用的方法,在Activity的一个完整生命周期中,此方法只会被调用一次。在开发过程中,我们一般需要使用setContentView(int)方法来初始化UI,对UI等进行数据绑定等操作。
  • onStart()方法——onCreate()方法执行后被调用的方法,其一般和onStop()一起组成visible lifetime的起始和终止阶段。在此阶段,用户对这个Activity是可见的但是不会获得焦点。
  • onResume()方法——onStart()方法执行后被调用的方法,它和onStop()方法一起组成 foreground lifetime。此方法执行完成后,Activity可以获得用户的焦点,执行相应的方法。
  • onPause()方法——当我们调用startActivity(Intent)等方法启动另一个Activity,且新Activity的onCreate()方法调用之前会被调用的方法,当前Activity会调用此方法,用户对这个Activity将不可见。在此方法中,我们需要可以执行一些用来保存持久化数据,停止动画,关闭一些耗时操作等的方法。这是启动一个新的Activity时一定会调用的方法。
  • onStop()方法——此方法调用之后,我们将对这个Activity不再可见,所以如果新启动的Activity是一个全屏不透明的Activity时,这个方法将会被调用。
  • onDestroy()——此方法一般是显示调用finish()方法或者被系统强制销毁时,被调用的方法。这也是Activity生命周期的最后一个阶段。

4.实例说明


1.启动一个Activity的过程时

2.从一个Activity进行另外一个Dialog或者透明样式的Activity时

【Android】 Activity Lifecycle_第2张图片

3.从一个Dialog或透明样式的Activity返回到之前的Activity(使用Back键或显示调用finish()方法)时

【Android】 Activity Lifecycle_第3张图片

4从一个Activity跳转到普通的Activity时

【Android】 Activity Lifecycle_第4张图片

5.从普通Activity返回到之前的Activity时

【Android】 Activity Lifecycle_第5张图片

6.按Home键时

7.按Back键时

【Android】 Activity Lifecycle_第6张图片

8.屏幕旋转

【Android】 Activity Lifecycle_第7张图片


你可能感兴趣的:(Android)