生命周期
- 创建Activity实例:当用户打开一个应用程序时,系统会根据启动的Activity创建一个Activity实例。
- 调用onCreate()方法:系统会调用Activity的onCreate()方法,这个方法只会在Activity第一次创建时被调用。在这个方法中,我们可以进行一些初始化操作,如设置布局文件、初始化控件等。
- 显示Activity:当onCreate()方法执行完毕后,系统会将Activity显示给用户。此时,用户可以与界面进行交互。
- 调用onStart()方法:当Activity变得可见时(包括第一次创建和从后台返回前台),系统会调用Activity的onStart()方法。在这个方法中,我们可以进行一些启动时的初始化操作,如注册广播接收器等。
- 显示其他Activity:如果需要切换到其他Activity,系统会暂停当前Activity并调用其onPause()方法,然后销毁(或停止)当前Activity,并创建新的Activity实例。然后,系统会调用新Activity的onCreate()方法,创建新实例。最后,系统会调用新Activity的onStart()方法,启动新Activity。
- 调用onResume()方法:当新Activity显示给用户后,系统会调用当前Activity的onResume()方法,恢复当前Activity的运行。此时,用户可以与新Activity进行交互。
- 调用onPause()方法:当用户与当前Activity退出或切换到其他Activity时,系统会调用当前Activity的onPause()方法,暂停当前Activity的运行。在这个方法中,可以执行一些暂停时的操作,如保存数据状态。
- 调用onStop()方法:如果用户返回到之前的Activity或完全退出应用程序,系统会调用当前Activity的onStop()方法。在这个方法中,我们可以进行一些停止时的清理操作,如取消注册广播接收器等。
- 调用onDestroy()方法:当当前Activity被销毁时,系统会调用Activity的onDestroy()方法。在这个方法中,可以进行一些资源释放操作,如关闭数据库连接等。
- 销毁Activity:当当前Activity被完全销毁后,整个生命周期结束。
跳转新的活动(保留当前页面跳转其他页面)
此时调用生命周期循序为:
onCreate->onStart->onResume
// 逻辑执行代码
startActivity(new Intent(当前页面.this, 目标页面.class));
返回上一个活动(关闭当前页面,返回上一页)
此时调用生命周期循序为:
onPause->onStop->onDestroy
// 逻辑执行代码
finish();