返回

Android四大组件之Activity:Activity生命周期中的奥秘

Android

Android中的Activity是一个界面组件,它可以被用户看到和操作。Activity的生命周期贯穿了它的整个生命过程,从创建到销毁,包括 onCreate()、onStart()、onResume()、onPause()、onStop() 和 onDestroy() 等多个阶段,理解这些阶段非常重要。

onCreate():

onCreate()方法是在Activity第一次被创建时调用的,它是Activity生命周期中最重要的阶段之一。在这个方法中,开发人员可以完成各种初始化操作,包括加载布局、绑定事件、初始化数据等。例如:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // 绑定事件
    Button btnLogin = findViewById(R.id.btn_login);
    btnLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // 登录操作
        }
    });

    // 初始化数据
    List<String> items = new ArrayList<>();
    items.add("Item 1");
    items.add("Item 2");
    items.add("Item 3");
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, items);
    listView.setAdapter(adapter);
}

onStart():

onStart()方法是在Activity由不可见变为可见的时候调用的,这并不意味着Activity一定要显示在屏幕上,只要Activity可以接收用户输入,onStart()就会被调用。在这个方法中,开发人员可以执行一些在Activity可见时需要执行的任务,例如:

@Override
protected void onStart() {
    super.onStart();
    // 开始播放音乐
    mediaPlayer.start();
}

onResume():

onResume()方法是在Activity获得焦点的时候调用的,这意味着Activity此时处于活动状态,用户可以与其进行交互。在这个方法中,开发人员可以执行一些在Activity处于活动状态时需要执行的任务,例如:

@Override
protected void onResume() {
    super.onResume();
    // 停止音乐
    mediaPlayer.pause();
}

onPause():

onPause()方法是在Activity失去焦点的时候调用的,这意味着Activity此时不再处于活动状态,用户无法与其进行交互。在这个方法中,开发人员可以执行一些在Activity失去焦点时需要执行的任务,例如:

@Override
protected void onPause() {
    super.onPause();
    // 暂停音乐
    mediaPlayer.pause();
}

onStop():

onStop()方法是在Activity由可见变为不可见的时候调用的,这并不意味着Activity一定要隐藏,只要Activity无法接收用户输入,onStop()就会被调用。在这个方法中,开发人员可以执行一些在Activity不可见时需要执行的任务,例如:

@Override
protected void onStop() {
    super.onStop();
    // 停止音乐
    mediaPlayer.stop();
}

onDestroy():

onDestroy()方法是在Activity被销毁的时候调用的,这意味着Activity将要退出,此时开发人员可以执行一些清理工作,例如:

@Override
protected void onDestroy() {
    super.onDestroy();
    // 关闭数据库连接
    db.close();

    // 注销广播接收器
    unregisterReceiver(broadcastReceiver);
}

Activity的生命周期是一个循环,当一个Activity被创建后,它将经历onStart()、onResume()、onPause()、onStop()、onDestroy()等阶段,然后再次回到onCreate(),依次循环。了解Activity的生命周期对于Android开发人员来说非常重要,这样才能更好地控制Activity的行为,打造更加稳定的应用程序。