屏幕旋转 Activity 的生命周期变化:
1、Activity 不重启请在 AndroidManifest.xml 设置如下:
......
<activity android:name=".app.CustomDialogActivity"
android:label="@string/activity_custom_dialog"
android:configChanges="orientation|keyboardHidden"
>
......
2、如果不设置则启动如下:
第一次执行
onCreate(null)
onStart()
onPostCreate()
onResume()
onPostResume()
可将屏幕旋转以后:
onSaveInstanceState()
onPause()
onStop()
onDestroy()
onCreate(Bundle[{android:viewHierarchyState=Bundle[{android:views=android.util.SparseArray@43370a48}], key=123}])
onStart()
onRestoreInstanceState()
onPostCreate()
onResume()
onPostResume()
onDestroy() 证明杀掉了你的 activity, onCreate() 又重新启动了你的 activity
代码:
......
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog_activity);
Log.w("Test", "onCreate(" + savedInstanceState + ")");
}
protected void onRestart() {
super.onRestart();
Log.w("Test", "onRestart()");
}
protected void onStart() {
super.onStart();
Log.w("Test", "onStart()");
}
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.w("Test", "onRestoreInstanceState()");
}
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
Log.w("Test", "onPostCreate()");
}
protected void onResume() {
super.onResume();
Log.w("Test", "onResume()");
}
protected void onPostResume() {
super.onPostResume();
Log.w("Test", "onPostResume()");
}
protected void onSaveInstanceState(Bundle outState) {
outState.putInt("key", 123);
super.onSaveInstanceState(outState);
Log.w("Test", "onSaveInstanceState()");
}
protected void onPause() {
super.onPause();
Log.w("Test", "onPause()");
}
protected void onStop() {
super.onStop();
Log.w("Test", "onStop()");
}
protected void onDestroy() {
super.onDestroy();
Log.w("Test", "onDestroy()");
}
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.w("Test", "onNewIntent()");
}
.....
分享到:
相关推荐
在Android应用开发中,了解Activity的生命周期至关重要,尤其是在屏幕旋转这样的设备状态变化时。当用户在使用设备时,比如从竖屏切换到横屏,或者反之,系统会自动调用Activity的相关方法,来管理和恢复应用的状态...
标题“设备旋转与Activity生命周期”所指的知识点主要是Android中Activity如何响应设备的屏幕方向变化。Activity是Android应用程序的基本组件,它负责与用户进行交互。在设备旋转时,系统会触发Activity的生命周期...
"测试Activity生命周期"的DEMO旨在帮助开发者直观地了解和调试Activity在不同场景下的状态变化。在这个DEMO中,我们可以通过观察日志输出或使用Android Studio的调试工具来跟踪Activity的状态。 Activity的生命周期...
这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、数据绑定等。 2. **启动(Started)**:`onStart()`方法标志着Activity可见但可能不完全在前台。用户可以看到Activity,但不能与其交互...
在这个"Activity生命周期Demo"中,我们将深入探讨Activity如何启动、运行、暂停、停止以及销毁的过程,以及在这些状态转换中如何适当地处理程序逻辑。 1. **Activity生命周期的基本阶段** - **创建(Created)**: ...
这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、绑定数据等。 2. **可见(Visible)**:Activity从不可见变为可见,但可能还在启动过程中,此时调用`onStart()`。在这个阶段,Activity...
这个名为"安卓Activity生命周期MyLifeDemo"的项目旨在帮助开发者深入理解Activity的生命周期及其管理方式。通过这个Demo,我们可以直观地看到Activity在不同状态之间的转换,并了解每个状态的意义以及如何在这些状态...
在这个"Activity生命周期demo"中,我们将深入探讨Activity在不同状态下的行为及其转换过程。 一、Activity生命周期概述 Activity的生命周期主要分为三个阶段:初始化阶段、运行阶段和销毁阶段。这些阶段通过一系列...
本篇文章将深入探讨Android Activity的生命周期,以及如何通过Logcat工具来追踪和理解这些生命周期变化。 首先,Activity的生命周期包括几个主要状态:初始化(创建)、启动、运行、暂停、停止和销毁。每个状态都...
Android Activity生命周期是Android应用开发中的核心概念,理解并掌握它对于构建高效、用户友好的应用程序至关重要。Activity作为Android系统中的一个关键组件,代表着用户界面的一个独立屏幕,它有自己的生命周期,...
了解和熟练掌握Activity生命周期对开发者来说极为重要,因为它可以帮助你编写健壮的代码,处理用户导航、后台服务、设备配置变化以及应用的意外关闭等问题。同时,合理地管理Activity的状态可以避免内存泄漏,提高...
在Android应用开发中,Activity是用户界面的基本单元,它的生命周期管理是开发者必须深入理解的关键概念。...开发者应根据应用的具体需求,灵活运用`android:configChanges`属性,实现对Activity生命周期的精细控制。
在测试过程中,开发者可能还会使用`Log`语句或者调试器来跟踪回调函数的执行顺序,确保Activity在各种场景下都能正确处理生命周期变化。对于复杂的Activity,理解其生命周期管理至关重要,可以避免内存泄漏、数据...
此外,了解生命周期可以帮助开发者处理屏幕旋转、设备配置改变等引起的状态变化,确保应用的稳定性和用户体验。 在“2-1(Activity生命周期)”这个文件中,可能包含详细的步骤解释、示例代码和可能的调试技巧,用于...
本资源“2-1 (Activity生命周期).zip”可能包含一个名为"MyFirstProject"的示例项目,旨在详细讲解Activity的各个生命周期状态及其转换。 Activity的生命周期分为以下几个主要阶段: 1. **创建(Created)**:当...
"2-1(Activity生命周期).7z"这个压缩包文件很可能包含了一个关于Android Activity生命周期的示例程序,用于帮助开发者理解Activity如何在不同状态之间转换。 Activity的生命周期包括几个关键状态:初始化(创建)、...
Activity生命周期包括创建、启动、运行、暂停、停止和销毁等阶段。这些阶段构成了一个完整的生命周期流程,开发者需要在相应的方法中处理特定的逻辑,如初始化资源、保存状态和释放资源等。以下是一些关键的生命周期...
在"2-1(Activity生命周期)"的源码分析中,你可以看到如何在各个生命周期方法中添加调试语句,观察Activity状态的变化。这有助于开发者更好地理解何时何地执行特定操作,避免内存泄漏和不必要的计算。 此外,还应...
Activity的生命周期变化有多种路径,常见的包括: - 启动到运行:onCreate() -> onStart() -> onResume() - 运行到暂停:onPause() - 暂停到停止:onStop() - 停止到销毁:onDestroy() - 重新启动:onRestart() -> ...
- **生命周期监听**:可以使用`LifecycleObserver`接口或者`onActivityResult()`等方法来监听Activity的生命周期变化,实现更精细化的控制。 在提供的LifeCycleProject中,开发者可能已经实现了各种状态的模拟和...