安卓中Activity的基本生命周期

    xiaoxiao2021-03-25  63

    [java] view plain copy     package com.scott.lifecycle;              import android.app.Activity;       import android.content.Context;       import android.content.Intent;       import android.os.Bundle;       import android.util.Log;       import android.view.View;       import android.widget.Button;              public class LifeCycleActivity extends Activity {                      private static final String TAG = "LifeCycleActivity";           private Context context = this;           private int param = 1;                      //Activity创建时被调用           @Override           public void onCreate(Bundle savedInstanceState) {               super.onCreate(savedInstanceState);               Log.i(TAG, "onCreate called.");                              setContentView(R.layout.lifecycle);                              Button btn = (Button) findViewById(R.id.btn);               btn.setOnClickListener(new View.OnClickListener() {                   @Override                   public void onClick(View v) {                       Intent intent = new Intent(context, TargetActivity.class);                       startActivity(intent);                   }               });           }                      //Activity创建或者从后台重新回到前台时被调用           @Override           protected void onStart() {               super.onStart();               Log.i(TAG, "onStart called.");           }                      //Activity从后台重新回到前台时被调用           @Override           protected void onRestart() {               super.onRestart();               Log.i(TAG, "onRestart called.");           }                      //Activity创建或者从被覆盖、后台重新回到前台时被调用           @Override           protected void onResume() {               super.onResume();               Log.i(TAG, "onResume called.");           }                      //Activity窗口获得或失去焦点时被调用,在onResume之后或onPause之后           /*@Override         public void onWindowFocusChanged(boolean hasFocus) {             super.onWindowFocusChanged(hasFocus);             Log.i(TAG, "onWindowFocusChanged called.");         }*/                      //Activity被覆盖到下面或者锁屏时被调用           @Override           protected void onPause() {               super.onPause();               Log.i(TAG, "onPause called.");               //有可能在执行完onPause或onStop后,系统资源紧张将Activity杀死,所以有必要在此保存持久数据           }                      //退出当前Activity或者跳转到新Activity时被调用           @Override           protected void onStop() {               super.onStop();               Log.i(TAG, "onStop called.");              }                      //退出当前Activity时被调用,调用之后Activity就结束了           @Override           protected void onDestroy() {               super.onDestroy();               Log.i(TAG, "onDestory called.");           }                      /**          * Activity被系统杀死时被调用.          * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死.          * 另外,当跳转到其他Activity或者按Home键回到主屏时该方法也会被调用,系统是为了保存当前View组件的状态.          * 在onPause之前被调用.          */           @Override           protected void onSaveInstanceState(Bundle outState) {               outState.putInt("param", param);               Log.i(TAG, "onSaveInstanceState called. put param: " + param);               super.onSaveInstanceState(outState);           }                      /**          * Activity被系统杀死后再重建时被调用.          * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死,用户又启动该Activity.          * 这两种情况下onRestoreInstanceState都会被调用,在onStart之后.          */           @Override           protected void onRestoreInstanceState(Bundle savedInstanceState) {               param = savedInstanceState.getInt("param");               Log.i(TAG, "onRestoreInstanceState called. get param: " + param);               super.onRestoreInstanceState(savedInstanceState);           }       }
    转载请注明原文地址: https://ju.6miu.com/read-16152.html

    最新回复(0)