欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Studio 安卓活动的生命周期和启动模式

程序员文章站 2022-03-03 22:26:01
一.活动状态每个活动在其生命周期中最多可能会有4种状态1. 运行状态当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。2. 暂停状态当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。3. 停止状态当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。4. 销毁状态当一个活动从返回栈中移除后就变成了销毁状态。生命周期示意图二.活动的生存期onCreate()。每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。onStart()。...

一.活动状态

每个活动在其生命周期中最多可能会有4种状态

1. 运行状态

当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。

2. 暂停状态

当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。

3. 停止状态

当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。

4. 销毁状态

当一个活动从返回栈中移除后就变成了销毁状态。

生命周期示意图

Android Studio 安卓活动的生命周期和启动模式

二.活动的生存期

  1. onCreate()。每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。
  2. onStart()。这个方法在活动由不可见变为可见的时候调用。
  3. onResume()。这个方法在活动准备好和用户进行交互的时候调用。
  4. onPause()。这个方法在系统准备去启动或者恢复另一个活动的时候调用。
  5. noNstop()。这个方法在活动完全不可见的时候调用。
  6. onDestroy()。这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
  7. onRestart()。这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了

可以在代码里面体现:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.e("masg", "1.activity----onCreate创建");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.e("msg", "2.activity-----onStart执行");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e("msg", "3.activity-----onResume焦点");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e("msg", "4.activity-----onPause暂停");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e("msg", "5.activity-----onStop停止");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("msg", "7.activity-----onDestroy销毁");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e("msg", "6.activity-----onRestart重启");
    }

三.活动启动模式

  1. standard–会创建新的活动,依次返回。
  2. singleTop–当活动位于栈顶,不会创建新的页面。如果改变栈顶,还是会创建当前页面。
  3. singleTask–当存在活动时,不会创建新的活动,当返回时,直接退出。
  4. singleInstance–创建新的栈,可以与其它应用共用,返回时,每个栈返回完才返回下一个栈。

本文地址:https://blog.csdn.net/nine_dollar/article/details/107117630