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

    技术2024-10-27  22

    一.活动状态

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

    1. 运行状态

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

    2. 暂停状态

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

    3. 停止状态

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

    4. 销毁状态

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

    生命周期示意图

    二.活动的生存期

    onCreate()。每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。onStart()。这个方法在活动由不可见变为可见的时候调用。onResume()。这个方法在活动准备好和用户进行交互的时候调用。onPause()。这个方法在系统准备去启动或者恢复另一个活动的时候调用。noNstop()。这个方法在活动完全不可见的时候调用。onDestroy()。这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。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重启"); }

    三.活动启动模式

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