zoukankan      html  css  js  c++  java
  • Android应用程序中Activity的生命周期

    Android应用程序中Activity的生命周期


    对于Android来说Activity的生命周期是非常的重要,尤其是对于新学者来说,只有充分了解了Activity的生命周期,才能写出优良用户体验的应用

    下面来看看具体的Activity生命周期
    图1是官方给我们提供的Activity生命周期图:

                                                                                        图1

    大家大概了解了Activity的生命周期后,请看下面的代码
    public class MainActivity extends Activity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		Log.i("MY_LOG", "---onCreate");
    	}
    	
    	@Override
    	protected void onStart() {
    		// TODO Auto-generated method stub
    		super.onStart();
    		Log.i("MY_LOG", "---onStart");
    	}
    	
    	@Override
    	protected void onRestoreInstanceState(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onRestoreInstanceState(savedInstanceState);
    		Log.i("MY_LOG", "---onRestoreInstanceState");
    	}
    	
    	@Override
    	protected void onRestart() {
    		// TODO Auto-generated method stub
    		super.onRestart();
    		Log.i("MY_LOG", "---onRestart");
    	}
    	
    	@Override
    	protected void onSaveInstanceState(Bundle outState) {
    		// TODO Auto-generated method stub
    		super.onSaveInstanceState(outState);
    		Log.i("MY_LOG", "---onSaveInstanceState");
    	}
    	
    	@Override
    	protected void onResume() {
    		// TODO Auto-generated method stub
    		super.onResume();
    		Log.i("MY_LOG", "---onResume");
    	}
    	
    	@Override
    	protected void onPause() {
    		// TODO Auto-generated method stub
    		super.onPause();
    		Log.i("MY_LOG", "---onPause");
    	}
    	
    	@Override
    	protected void onStop() {
    		// TODO Auto-generated method stub
    		super.onStop();
    		Log.i("MY_LOG", "---onStop");
    	}
    	
    	@Override
    	protected void onDestroy() {
    		// TODO Auto-generated method stub
    		super.onDestroy();
    		Log.i("MY_LOG", "---onDestroy");
    	}
    
    }
    
    此段代码列出了Activity的各个生命周期所要执行的方法,现在对这些方进行验证。

    当第一次启动应用程序时,打印出的LOG如下图:



    当按下返回键时,打印出的LOG如下图:



    当再次打开应用程序时,打印出的LOG如下图:



    当按下home键时,打印出的LOG如下图:



    当第3次打开应用时,打印出的LOG如下图:



    当默认状态下循环旋转屏幕时,打印出的LOG如下图:


    当在Activity中配置了 android:configChanges ="orientation|screenSize"时,打印出的LOG如下图:


    注:退出Activity保存数据时要在onPause()方法中。因为onStop(),方法中有可能Activity会销毁
  • 相关阅读:
    设计模式与23种设计模式的简单介绍
    一文读懂C++ Vector在算法竞赛中的常见用法
    一文读懂C++ String类在算法竞赛中的常见用法
    GO语言的单元测试与性能测试
    变量提升和函数提升及二者优先级
    闭包
    读《你不知道的JavaScript 中》-异步【3】Promise
    js数组方法-改变原数组和不改变原数组
    读《你不知道的JavaScript 中》-异步【2】回调
    组合类算法问题
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3301614.html
Copyright © 2011-2022 走看看