Activity的生命周期
七个生命周期函数
启动一个新的Activity 就会依次由 Android 操作系统调用:
onCreate: Activity 第一次被调用;设置布局文件、绑定监听器等操作。
onStart:当 Activity 被显示的时候调用
onResume:当 Activity 能获得用户焦点的时候(即用户可以操作该 activity 的时候)。
当当前运行的Activity 被打断时(来电话或跳到另一个 Activity 时)调用 onPause ,在函数内部编写一些保存当前 Activity 数据的代码。以待返回时还原数据。
当一个Activity 处于不可见状态的时候,就会调用该 Activity 的 onStop 方法。比如跳转到新的 Activity 后。如果跳转出来的是一个对话框( Dialog ),则不会调用 onStop 方法。
当一个Activity 调用了 onStop 之后又被返回是,则是调用 onRestart 方法,然后再 onStart 和 onResume 。
当明确地调用了一个Activity 的 finish() 方法,或当 Android 系统资源不足,而某个 Activity 处于不可见状态,则系统会选择销毁掉第一个不可见的 Activity ,则系统就会调用这个 Activity 的 onDestroy 方法,销毁这个 Activity 。
一个Activity 在哪些状态下可以被 Android 操作系统 kill 掉?
onPause(仅在 3.0 版本以前 ) , onStop , onDestroy
Task:任务
一个Task 是一个 Activity 的栈( Stack )。在 Activity 之间进行切换,实际就是这个栈的压栈和弹出的过程。
示例:两个Activity之间进行切换来观察Activity的生命周期
点击Go to Next Activity按钮后:
FirstActivity.java
SecondActivity.java
Dialog Style Activity的生命周期:
源代码同上述代码一致,只需在AndroidManifest.xml中SecondActivity的声明做如下修改: