Activity的生命周期

来源:互联网 发布:电子产品外壳设计软件 编辑:程序博客网 时间:2024/05/23 10:58

大家好,这是我的第一篇博客,主要是对我近段时间所学知识的梳理,巩固和提升。

今天给讲的是Android中Activity的生命周期

首先,我来解释一下Activity(活动)是什么?

Activity是一种可以包含用户界面的组件,主要用于和用户进行交互(通俗地说,Activity是一个程序的门面)。


然后,看一下Android api中所提供的Activity生命周期图


Resume /rɪˈzjuːm/ 重新开始,继续;

foreground /'fɔːɡraʊnd/前景,最显著的位置;

Activity 其实是继承了 AppCompatActivity类,

Activity类中定义了7个回调方法,覆盖了活动生命周期打的每一个环节,下面我们来体验一下。


为了更加生动的演示,我定义了3个Activity:一个MainActivity,一个TestActivity,一个DialogActivity

MainActivity为参照对象

MainActivity界面:




启动MainActivity



启动TestActivity(跳转到TestActivity,MainActivity不可见)



按下返回键,返回到MainActivity


启动DialogActivity



活动暂停,不再位于栈顶

关闭程序


总结:

1.MainActiivity第一次启动时,先后执行了onCreate()->onStart()->onResume()

2.MainActivity跳转到TestActivity (MainActivity完全不可见时),先后执行onPause()->onStop()

3.从TestActivity返回到MainActivity(MainActivity返回栈的栈顶),此时执行onRestar()->onStart()->onResume()

4.MainActivity被DialogActivity遮挡时,只执行onPause()

5.销毁MainActivity,此时执行onPause()->onStop()->onDestroy()

所以说

完整生存期:onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()

可见生存期:onStart()->onResume()->onPause()->onStop()

前台生存期:onResume()->onPause()

OK,大功基本告成,重新看一下Activity生命周期图,你将会理解的更加透彻。