Activity生命周期(2)—事件回调函数调用顺序
2016-11-13 00:00
525 查看
完全生命周期 onCreate() — onDestroy() :从Activity的生命周期建立到销毁的全部过程
可是生命周期 onStart() — onStop():Activity在界面上从可见到不可见的过程
活动生命周期 onResume — onPause() :Activity在屏幕最上层,并能与用户进行交互
(通过在生命周期函数中添加“日志点”的方法进行调试)
2.程序界面
3.调用顺序
(1)完全生命周期
启动ActivityLifeCycle — 点击”结束程序“按钮关闭程序
调用顺序:onCreate — onStart —onResume — onPause — onStop — onDestroy
(2)可视生命周期
启动ActivityLifeCycle — 启动拨号程序 — 返回ActivityLifeCycle
调用顺序:
启动:(1)—(2)—(4)
Activity被覆盖:(7)—(5)—(8)
重新显示Activity:(6)—(2)—(4)
可是生命周期 onStart() — onStop():Activity在界面上从可见到不可见的过程
活动生命周期 onResume — onPause() :Activity在屏幕最上层,并能与用户进行交互
示例程序
1.程序代码(通过在生命周期函数中添加“日志点”的方法进行调试)
package com.jhincheung.activitylifecycle; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private static String TAG = "LIFECYCLE"; /* * 完全声明周期开始时被调用,初始化Activity */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i(TAG,"(1)onCreate()"); //定义按钮和按钮监听函数,通过用户点击按钮调用finish()函数结束程序 Button button =(Button)findViewById(R.id.btn_finish); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } /* * 可视生命周期开始时被调用,对用户界面进行必要的更改 */ @Override public void onStart() { super.onStart(); Log.i(TAG, "(2)onStart()"); }; /* * 在onStart()后被调用,用于恢复onSaveInstanceState()保存的用户界面信息 */ @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Log.i(TAG, "(3)onRestoreInstanceState()"); }; /* * 在活动周期开始时被调用,恢复被onPause()停止的用于界面更新的资源 */ @Override protected void onResume() { super.onResume(); Log.i(TAG, "(4)onResume()"); } /* * 在onPause后被调用,保存界面的临时信息 */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.i(TAG, "(5)onSaveInstanceState()"); } /* * 在重新进入可视生命周期前被调用,载入界面所需要的更改信息 */ @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "(6)onRestart()"); } /* * 在活动生命周期结束时被调用,用来保存持久的数据或释放占用的资源 */ @Override protected void onPause() { super.onPause(); Log.i(TAG, "(7)onPause()"); } /* * 在可视化生命周期结束时被调用,用来释放占用的资源 */ @Override protected void onStop() { super.onStop(); Log.i(TAG, "(8)onStop()"); } /* * 在完全生命周期结束时被调用,释放资源,包括线程、数据连接等 */ @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "(9)onDestory()"); } }
2.程序界面
3.调用顺序
(1)完全生命周期
启动ActivityLifeCycle — 点击”结束程序“按钮关闭程序
调用顺序:onCreate — onStart —onResume — onPause — onStop — onDestroy
(2)可视生命周期
启动ActivityLifeCycle — 启动拨号程序 — 返回ActivityLifeCycle
调用顺序:
启动:(1)—(2)—(4)
Activity被覆盖:(7)—(5)—(8)
重新显示Activity:(6)—(2)—(4)
相关文章推荐
- android中Activity的生命周期各回调函数的调用顺序学习心得
- Activity生命周期被调用的顺序
- 关于继承的Activity中初始化及生命周期被调用的顺序
- 一个Activity开启另一额Activity时各生命周期函数调用顺序
- 面试问题 activity生命周期,当设备旋转时android生命周期方法的调用顺序
- Android之Activity界面跳转--生命周期方法调用顺序
- Android中Activity生命周期,函数调用顺序
- Activity生命周期方法的调用顺序project与測试日志
- android activity的生命周期及页面加载所调用的事件
- Activity生命周期方法的调用顺序工程与测试日志
- Android 两个Activity切换时回调函数调用顺序
- ASP.NET网页生命周期事件顺序
- [Android][清水笔记]多个Activity跳转时其状态方法的调用顺序
- 回调函数,同步调用,异步调用,事件,消息循环
- asp.net页生命周期中重要事件执行顺序
- asp.net中page对象生命周期和各事件执行顺序
- ASP.NET MVC 生命周期/事件执行顺序
- c#母版页类容页事件调用顺序
- asp.net 页面从初始化到卸载事件顺序(及对页面控件调用)完整列表【转】
- 多个Activity生命周期方法调用