点击“退出” 菜单项
图:点击“退出” 菜单项前的界面
图:点击“退出” 菜单项后的界面
3、 看示例:Activity_03
7、Activity生命周期(一)
7.1、Activity生命周期
1、 onCreate()
当Activity第一次被创建的时候,就会调用 onCreate() 方法。 onCreate() 方法的作用(或通常都在这个方法中写些什么代码):
(1) 设置 Activity 的所使用的布局文件
(2) 所有静态的设置,如:设置控件的文本内容、为控件注册监听等等
2、 onStart()
当这个Activity能够被我们看到的时候,就会调用 onStart() 方法。
3、 onResume()
当这个 Activity 能够获得用户焦点的时候(也就是用户能够在Activity上进行操作的时候或说当这个Activity将开始与用户进行交互的时候,如:点击Activity的屏幕、点击Activity的按钮控件等),就会调用 onResume() 方法。 4、 onPause()
一个 Activity启动另外一个 Activity 的时候,就会调用第一个 Activity 的 onPause() 方法。
onPause () 方法的作用(或通常都在这个方法中写些什么代码):
(1) 用来保存原来正在操作的Activity的数据(例如:我们正在操作两数相乘的
Activity,这时来了个电话,从而使两数相乘的Activity被来电的这个Activity遮挡(也就是变成不可见),这时两数相乘的Activity就会调用自己的onPause()方法,这时我们必须在onPause()方法中,将两数相乘的Activity的当前正在操作的数据保存起来,以便来电这个Activity操作结束后,返回到两数相乘的Activity时可以读取出数据,还原到被打断前的状态)
5、 onStop()
当一个Activity对用户不再可见的时候(也就是另一个Activity把原先的Activity给完全遮挡住了),就会调用这个Activity的onStop()方法。如果是在一个Activity上弹出一个对话框(也就是这个对话框没有把原先的Activity给完全遮挡住),这时不会调用这个Activity的onStop()方法。
调用onStop()方法就让Activity处于停止的状态。
6、 onRestart()
当一个Activity原先处于onStop状态且没有被消毁,如果这时Activity又恢复可见状态,就会调用onRestart()方法。 7、 onDestroy()
在Activity被消毁之前会被调用。
onDescroy()通常在以下两种情况下会被调用:
(1) 在代码中明确调用了 finish() 方法,这时这个Activity就会调用onDestroy()
方法消毁Activity
(2) 当Android操作系统的系统资源不够用的时候,这时也会调用Activity的
onDestroy()方法消毁Activity。(例如:从FirstActivity跳转到SecondActivity,这时Android操作系统的系统资源突然不够用,这时操作系统就会去收集
那些被遮挡或不可见的优先级比较低的Activity进行消毁,在这里因为FirstActivity被SecondActivity遮挡,所以这时FirstActivity就会被消毁,即调用onDestroy()方法)
7.2、当一个新的Activity启动的时候,调用的方法
当一个新的Activity启动的时候,会依次调用:onCreate()、onStart()、onResume()方法,这三个方法是由Android操作系统来调用的,并不是我们写代码来调用的。
在示例 Activity_04 中,启动第一个 Activity:FirstActivity 时,会依次调用 onCreate()、onStart()、onResume() 方法。启动 FirstActivity 后显示的界面如下图:
图:启动 FirstActivity 后显示的界面
图:启动 FirstActivity 后,在LogCat打印出来的信息
7.3、从 FirstActivity 跳转到 SecondActivity 的过程,调用的方法
从 FirstActivity 跳转到 SecondActivity 的过程,依次会调用: FirstActivity--->onPause()、SecondActivity--->onCreate()、SecondActivity--->onStart()、SecondActivity--->onResume()、FirstActivity--->onStop()(当 SecondActivity完全遮挡住 FirstActivity 时会调用 onStop() 方法,否则不会调用 onStop() 方法)
点击“启动第二个Activity” 按钮,跳转到 SecondActivity
图:点击“启动第二个Activity” 按钮前,显示的界面

