Android原生开发笔记 Activity的生命周期

java yekong

Activity的生命周期

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");

    }
}

喜欢