Activity生命周期

简介: Activity生命周期

Android 中activity的生命周期

总共有7个函数,分别是onStart() onStop() onDestroy() onPause() onResume() onRestart() onCreate(),通过日志打印显示出Activity的生命周期;

首先在MainActivity中重写上面的七个方法后,在每一个方法里面用Log.i()方法在控制台打印输出各自的信息。启动工程,看到依次是onCreate()->onStart()->onResume()当在模拟器上按下退回键,该Activiry就会销毁依次显示onPause()->onStop()-> onDestroy()这个一个完整的周期。

当发生遮挡,分为完全遮挡和部分遮挡,当完全遮挡生命周期为onCreate()->onStart()->onResume()->onPause()->onStop()->onRestart()->onStart()-继续运 ,,,,,

当发生部分遮挡时其生命周期为onCreate()->onStart()->onResume()->onPause()->onResume继续执行;

代码实验验证: 用一个textview的点击来打开第二个Main2Activity,实现遮挡的效果,然后启动工程,显示开始onCreate()->onStart()->onResume()-当点击textview日志显示onPause()->onStop()当关闭第二个Activity后onRestart()->onStart()->onResume()就把第一个Activity显示出来了

activity中代码如下

package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";
    public MainActivity() {
        super();
    }
    // 7个
    @Override
    protected void onStart() {
        super.onStart();
        Log.i(TAG, "onStart: ");
    }
    @Override
    protected void onStop() {
        super.onStop();
        Log.i(TAG, "onStop: ");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i(TAG, "onDestroy: ");
    }
    @Override
    protected void onPause() {
        super.onPause();
        Log.i(TAG, "onPause: ");
    }
    @Override
    protected void onResume() {
        super.onResume();
        Log.i(TAG, "onResume: ");
    }
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.i(TAG, "onRestart: ");
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i(TAG, "onCreate: ");
        TextView textView=(TextView)findViewById(R.id.textview);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this,Main2Activity.class);
                startActivity(intent);
            }
        });
    }
}
相关文章
|
22天前
|
Java Android开发
Android四大组件之Activity组件
Android四大组件之Activity组件
|
Android开发
深入剖析Android四大组件(一)——Activity生命周期详解(一)
深入剖析Android四大组件(一)——Activity生命周期详解(一)
286 0
深入剖析Android四大组件(一)——Activity生命周期详解(一)
|
存储 Java 数据库
深入剖析Android四大组件(一)——Activity生命周期详解(二)
深入剖析Android四大组件(一)——Activity生命周期详解(二)
117 0
深入剖析Android四大组件(一)——Activity生命周期详解(二)
|
Android开发
深入剖析Android四大组件(八)——结束Activity的4个阶段(一)
深入剖析Android四大组件(八)——结束Activity的4个阶段(一)
230 0
|
调度 Android开发
深入剖析Android四大组件(八)——结束Activity的4个阶段(二)
深入剖析Android四大组件(八)——结束Activity的4个阶段(二)
172 0
深入剖析Android四大组件(八)——结束Activity的4个阶段(二)
|
Android开发
Android四大组件之一Activity生命周期的不同走向
Android四大组件之一Activity的生命周期,欢迎大家阅读
87 0
Android四大组件之一Activity生命周期的不同走向
|
Android开发
Android四大组件之一Activity的生命周期
Activity的生命周期给大家整理好了
73 0
Android四大组件之一Activity的生命周期
|
Java Android开发
Activity的四种启动模式
Android的冷门知识,大家有兴趣可以了解了解
156 0
|
存储
Activity生命周期
Activity生命周期
118 0
|
XML Java Android开发
Activity生命周期详解
Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。
174 0
Activity生命周期详解