📅  最后修改于: 2023-12-03 15:36:02.680000             🧑  作者: Mango
在 Android 应用程序中,Activity 生命周期是非常重要的。了解 Activity 生命周期有助于我们在按下返回键或屏幕旋转时正确地保留 UI 数据,使用户体验更好。
Activity 生命周期是指 Activity 的创建、启动、暂停、恢复和销毁等一系列阶段的变化。当用户启动一个 Activity 时,系统将其放入栈中并管理其状态转移。当 Activity 不再可见时,它可能会被暂停、停止或销毁,具体取决于用户在应用程序中执行的操作。
在 Android 应用程序中,如果用户按下返回键或屏幕旋转,Activity 将销毁并重新创建,这可能会导致 UI 数据的丢失。为了避免这种情况,我们可以使用 onSaveInstanceState() 方法来保存数据并在 onCreate() 中进行还原。
在 onSaveInstanceState() 方法中,我们可以使用 Bundle 对象来保存需要保留的数据。代码如下:
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("key_name", name) // 保存字符串 name
outState.putInt("key_age", age) // 保存整型 age
super.onSaveInstanceState(outState)
}
在 onCreate() 方法中,我们可以从 savedInstanceState 对象中恢复数据。代码如下:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (savedInstanceState != null) {
name = savedInstanceState.getString("key_name") // 恢复字符串 name
age = savedInstanceState.getInt("key_age") // 恢复整型 age
}
}
在 Android 应用程序中,了解 Activity 生命周期可以帮助我们正确地保留 UI 数据。我们应该使用 onSaveInstanceState() 方法来保存数据,并在 onCreate() 方法中恢复数据。