zoukankan      html  css  js  c++  java
  • Activity生命周期详解

      activity作为Android开发中一个最重要的组件之一,所以要对它有详细的了解

    1.当activity第一次创建时执行以下方法

     1 /**
     2      * 第一次创建activity调用
     3      *
     4      * @param savedInstanceState
     5      */
     6     @Override
     7     protected void onCreate(Bundle savedInstanceState) {
     8         super.onCreate(savedInstanceState);
     9         setContentView(R.layout.activity_main);
    10         Log.i(TAG, "--------------->onCreate");
    11     }
    12 
    13     /**
    14      * activity变为可视状态调用
    15      */
    16     @Override
    17     protected void onStart() {
    18         super.onStart();
    19         Log.i(TAG, "--------------->onStart");
    20     }
    21 
    22     /**
    23      * activity的界面就可以和用户进行交互时调用
    24      */
    25     @Override
    26     protected void onResume() {
    27         super.onResume();
    28         Log.i(TAG, "--------------->onResume");
    29     }
    1 MainActivity: --------------->onCreate
    2 MainActivity: --------------->onStart
    3 MainActivity: --------------->onResume

    2. 当前activity启动另一个activity时执行的方法

     1  /**
     2      * 用户不可以和界面进行交互时调用
     3      */
     4     @Override
     5     protected void onPause() {
     6         super.onPause();
     7         Log.i(TAG, "--------------->onPause");
     8     }
     9 /**
    10      * activity处于不可见状态调用
    11      */
    12     @Override
    13     protected void onStop() {
    14         super.onStop();
    15         Log.i(TAG, "--------------->onStop");
    16     }
    1 MainActivity: --------------->onPause
    2 MainActivity: --------------->onStop

    3.从另一个activity返回到当前activity执行的方法

     1 /**
     2      * 当前activity没有被销毁重新启动时调用
     3      */
     4     @Override
     5     protected void onRestart() {
     6         super.onRestart();
     7         Log.i(TAG, "--------------->onRestart");
     8     }
     9 /**
    10      * activity变为可视状态调用
    11      */
    12     @Override
    13     protected void onStart() {
    14         super.onStart();
    15         Log.i(TAG, "--------------->onStart");
    16     }
    17  /**
    18      * activity的界面就可以和用户进行交互时调用
    19      */
    20     @Override
    21     protected void onResume() {
    22         super.onResume();
    23         Log.i(TAG, "--------------->onResume");
    24     }
    1 MainActivity: --------------->onRestart
    2 MainActivity: --------------->onStart
    3 MainActivity: --------------->onResume

    4.当前activity点击home键后执行的方法

     1  /**
     2      * 用户不可以和界面进行交互时调用
     3      */
     4     @Override
     5     protected void onPause() {
     6         super.onPause();
     7         Log.i(TAG, "--------------->onPause");
     8     }
     9 /**
    10      * activity处于不可见状态调用
    11      */
    12     @Override
    13     protected void onStop() {
    14         super.onStop();
    15         Log.i(TAG, "--------------->onStop");
    16     }
    1 MainActivity: --------------->onPause
    2 MainActivity: --------------->onStop

    5.从后台运行中进入activity执行的方法与 3 一样

    6.点击返回键时执行的方法

     1 /**
     2      * 用户不可以和界面进行交互时调用
     3      */
     4     @Override
     5     protected void onPause() {
     6         super.onPause();
     7         Log.i(TAG, "--------------->onPause");
     8     }
     9 /**
    10      * activity处于不可见状态调用
    11      */
    12     @Override
    13     protected void onStop() {
    14         super.onStop();
    15         Log.i(TAG, "--------------->onStop");
    16     }
    17 /**
    18      * 当activity销毁时调用
    19      */
    20     @Override
    21     protected void onDestroy() {
    22         super.onDestroy();
    23         Log.i(TAG, "--------------->onDestroy");
    24     }
    1 MainActivity: --------------->onPause
    2 MainActivity: --------------->onStop
    3 MainActivity: --------------->onDestroy

    7.当切换横竖屏时系统会销毁当前activity重新创建一个activity执行方法的先后顺序如下:

    1 MainActivity: --------------->onPause
    2 MainActivity: --------------->onStop
    3 MainActivity: --------------->onDestroy
    4 
    5 
    6 MainActivity: --------------->onCreate
    7 MainActivity: --------------->onStart
    8 MainActivity: --------------->onResume
  • 相关阅读:
    CodeForces 452C Magic Trick (排列组合)
    zoj 3209 Treasure Map(精确覆盖)
    POJ 1459 Power Network(网络流 最大流 多起点,多汇点)
    POJ 1273 Drainage Ditches(网络流 最大流)
    HDU Tickets(简单的dp递推)
    ZOJ 3080 ChiBi(spfa)
    URAL 1036(dp+高精度)
    最佳的 清楚浮动 clearfix
    响应式开发
    javascript 性能优化
  • 原文地址:https://www.cnblogs.com/hejiaoshou/p/7467442.html
Copyright © 2011-2022 走看看