您的位置:58编程 > 安卓中activity的生命周期 Android Activity生命周期

安卓中activity的生命周期 Android Activity生命周期

2023-03-19 08:33 Android教程

安卓中activity的生命周期 Android Activity生命周期

安卓中activity的生命周期

安卓中的Activity生命周期是指Activity在启动到结束的整个过程,它包括了Activity的创建、运行、暂停、停止以及销毁等几个阶段。

Activity的生命周期由7个不同的回调方法来定义,它们分别是:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()和onDestroy()。

// Activity 生命周期回调函数
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // 初始化 Activity 代码 
} 
@Override 
protected void onStart(){ 
    super.onStart(); 
    // 启动 Activity 时执行的代码 
} 
@Override 
protected void onResume(){ 
    super.onResume();   // 获取焦点时执行的代码   }   @Override   protected void onPause(){   super.onPause();   // 暂停 Activity 时执行的代码   }   @Override   protected void onStop(){   super.onStop();   // 停止 Activity 时执行的代码   }   @Override   protected void onRestart(){   super.onRestart();     // 重新启动 Activity 时执行的代码     }     @Override     protected void onDestroy(){     super.onDestroy();     // 销毁 Activity 时执行的代码     } 

当一个Activity被创建时(即由其他Activity跳转而来),就会调用其中的OnCreate()方法;当一个Activity失去焦点时(即将要跳转到其他Activity时),就会调用其中的OnPause()方法。

当一个Activity重新得到焦点时(即从其他Activity返回时),就会调用其中的OnResume()方法。如果一个Activity已经处于运行态但是失去了焦点并没有销毁时(即将要重新得到焦点时)就会调用OnRestart()方法。

当一个Activity已处于运行态但是失去了焦点并没有销毁时把它变成不可视态就会调用OnStop()方法。而当一个Activity已处于不可视态但是并没有销毁时把它变成销毁态就会调用OnDestroy()方法。

Android Activity生命周期

Activity基类定义了一系列管理Activity生命周期的事件。

Android应用程序的生命周期由系统严格管理。

Android在单独的进程中运行每个应用程序,每个都托管自己的虚拟机。

Activity类定义以下事件:

  • onCreate()当首次创建Activity时调用
  • onStart()Activity对用户可见时调用
  • onResume()Activity开始与用户交互时调用
  • onPause()当前Activity正在暂停且前一个Activity正在恢复时调用
  • onStop()Activity不再对用户可见时调用
  • onDestroy() 在Activity被系统销毁之前调用
  • onRestart()Activity已停止并再次启动时调用

你不需要对所有这些方法做出反应。

例子

package cn..app;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
    String tag = "www..cn";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(tag, "In the onCreate() event");
    }

    public void onStart()
    {
        super.onStart();
        Log.d(tag, "In the onStart() event");
    }

    public void onRestart()
    {
        super.onRestart();
        Log.d(tag, "In the onRestart() event");
    }

    public void onResume()
    {
        super.onResume();
        Log.d(tag, "In the onResume() event");
    }

    public void onPause()
    {
        super.onPause();
        Log.d(tag, "In the onPause() event");
    }

    public void onStop()
    {
        super.onStop();
        Log.d(tag, "In the onStop() event");
    }

    public void onDestroy()
    {
        super.onDestroy();
        Log.d(tag, "In the onDestroy() event");
    }
}
Activity生命周期

注意

当第一次创建Activity时,调用 onCreate()方法。

我们可以使用 onCreate()方法来创建UI元素。

单击后退按钮时,Activity将被销毁。你需要在Activity中写入其他代码,以在销毁时保留其状态。

Activity发送到后台时,以及当用户按下后退按钮时,onPause()方法被调用。

Activity启动时,始终调用onStart() onResume()方法,而不管Activity是从后台恢复还是新创建的。

我们应该使用 onCreate()方法来创建和实例化你将在应用程序中使用的对象。

当你的Activity在前台时,我们应该使用 onResume()方法来启动任何需要运行的服务或代码。

Activity不在前台时,我们应该使用 onPause()方法停止任何不需要运行的服务或代码。

我们应该在销毁Activity之前使用 onDestroy()方法释放资源。

如果应用程序只有一个Activity并且该Activity被销毁,那么应用程序仍将在内存中运行。

阅读全文
以上是58编程为你收集整理的安卓中activity的生命周期 Android Activity生命周期全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS