Activity的生命周期
Activity 的生命周期
onCreate:创建活动。把页面布局加载进内存,进入了初始状态。
onStart:开始活动。把活动页面显示在屏幕上,进入了就绪状态。
onResume: 恢复活动。活动页面进入活跃状态,能够与用户正常交互,例如允许响应用户的点击
动作、允许用户输入文字等等。
onPause:暂停活动。页面进入暂停状态,无法与用户正常交互。
onStop: 停止活动。页面将不在屏幕上显示。
onDestroy:销毁活动。回收活动占用的系统资源,把页面从内存中清除。
onRestart:重启活动。重新加载内存中的页面数据。
onNewlntent:重用已有的活动实例。
如果一个Activity已经启动过,并且存在当前应用的Activity任务栈中,启动横式为singleTask, singlelnstance或singleTop(此时已在任务栈顶端),那么在此启动或回到这个Activity的时候,不会创建新的实例,也就是不会执行onCreate方法,而是执行onNewIntent方法。
各状态之间的切换过程
打开新页面的方法调用顺序为:
onCreate一onStart一onResume
关闭旧页面的方法调用顺序为:
onPause一 onStop一onDestroy
package com.example.chapter03;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn_act_next).setOnClickListener(this);
Log.d("TAG", "onCreate");
}
@Override
public void onClick(View view) {
startActivity(new Intent(this, TextViewActivity.class));
}
@Override
protected void onStart() {
super.onStart();
Log.d("TAG", "onStart");
}
@Override
protected void onResume() {
super.onResume();
Log.d("TAG", "onResume");
}
@Override
protected void onStop() {
super.onStop();
Log.d("TAG", "onStop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("TAG", "onDestroy");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("TAG", "onRestart");
}
}