Activity生命周期
在Activity中有7个基本的生命周期方法,主要介绍下各个的触发条件,直接看代码即可:
package com.example.android_test_activity; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { // 创建时或执行了onDestory后 触发,只执行一次后就不会在执行了 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("onCreate is comming!!"); setContentView(R.layout.activity_main); } // 在执行了onCreate后不会触发这个方法 // 这个方法的触发条件是在当前activity工作时按下home键 会触发 onPause,onStop两个方法 // 再回到这个Activity时会触发 此方法 所有的方法的执行顺序是:onRestart onStart onResume @Override protected void onRestart() { System.out.println("onRestart is comming!!"); super.onRestart(); } // 在onCreate和onRestart方法后一般都会执行的可以看见这个Activity时 Activity有可见变成不可见时 @Override protected void onStart() { System.out.println("onStart is comming!!"); super.onStart(); } // 获得焦点时会执行,也可以理解成可以与用户发生交互的条件下可以执行这里 注意“透明”应用 @Override protected void onResume() { System.out.println("onResume is comming!!"); super.onResume(); } // 失去焦点时会执行,也可以理解成不能与用户发生交互的条件下可以执行这里注意“透明”应用 @Override protected void onPause() { System.out.println("onPause is comming!!"); super.onPause(); } // 由可见变成不可见 Activity时 @Override protected void onStop() { System.out.println("onStop is comming!!"); super.onStop(); } // 按返回键会触发,按home键不会触发 @Override protected void onDestroy() { System.out.println("onDestroy is comming!!"); super.onDestroy(); } }
大家可以运行代码看一下!
注意:
Activity中执行onPause() 却不会执行onStop()方法的情况
基础而已。