`

屏幕旋转Activity的生命周期变化

阅读更多

屏幕旋转 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的生命周期

    在Android应用开发中,了解Activity的生命周期至关重要,尤其是在屏幕旋转这样的设备状态变化时。当用户在使用设备时,比如从竖屏切换到横屏,或者反之,系统会自动调用Activity的相关方法,来管理和恢复应用的状态...

    设备旋转与Activity生命周期

    标题“设备旋转与Activity生命周期”所指的知识点主要是Android中Activity如何响应设备的屏幕方向变化。Activity是Android应用程序的基本组件,它负责与用户进行交互。在设备旋转时,系统会触发Activity的生命周期...

    测试Activity生命周期

    "测试Activity生命周期"的DEMO旨在帮助开发者直观地了解和调试Activity在不同场景下的状态变化。在这个DEMO中,我们可以通过观察日志输出或使用Android Studio的调试工具来跟踪Activity的状态。 Activity的生命周期...

    activity生命周期

    这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、数据绑定等。 2. **启动(Started)**:`onStart()`方法标志着Activity可见但可能不完全在前台。用户可以看到Activity,但不能与其交互...

    Activity生命周期Demo

    在这个"Activity生命周期Demo"中,我们将深入探讨Activity如何启动、运行、暂停、停止以及销毁的过程,以及在这些状态转换中如何适当地处理程序逻辑。 1. **Activity生命周期的基本阶段** - **创建(Created)**: ...

    深入理解Activity生命周期

    这是Activity生命周期的第一个回调,通常在这里进行初始化工作,如设置布局、绑定数据等。 2. **可见(Visible)**:Activity从不可见变为可见,但可能还在启动过程中,此时调用`onStart()`。在这个阶段,Activity...

    安卓Activity生命周期MyLifeDemo

    这个名为"安卓Activity生命周期MyLifeDemo"的项目旨在帮助开发者深入理解Activity的生命周期及其管理方式。通过这个Demo,我们可以直观地看到Activity在不同状态之间的转换,并了解每个状态的意义以及如何在这些状态...

    activity 生命周期 demo

    在这个"Activity生命周期demo"中,我们将深入探讨Activity在不同状态下的行为及其转换过程。 一、Activity生命周期概述 Activity的生命周期主要分为三个阶段:初始化阶段、运行阶段和销毁阶段。这些阶段通过一系列...

    对安卓activity生命周期的理解

    本篇文章将深入探讨Android Activity的生命周期,以及如何通过Logcat工具来追踪和理解这些生命周期变化。 首先,Activity的生命周期包括几个主要状态:初始化(创建)、启动、运行、暂停、停止和销毁。每个状态都...

    Android Activity 生命周期

    Android Activity生命周期是Android应用开发中的核心概念,理解并掌握它对于构建高效、用户友好的应用程序至关重要。Activity作为Android系统中的一个关键组件,代表着用户界面的一个独立屏幕,它有自己的生命周期,...

    [Android开发从零开始].8.Activity生命周期

    了解和熟练掌握Activity生命周期对开发者来说极为重要,因为它可以帮助你编写健壮的代码,处理用户导航、后台服务、设备配置变化以及应用的意外关闭等问题。同时,合理地管理Activity的状态可以避免内存泄漏,提高...

    android中手机切屏是activity生命周期的变化[收集].pdf

    在Android应用开发中,Activity是用户界面的基本单元,它的生命周期管理是开发者必须深入理解的关键概念。...开发者应根据应用的具体需求,灵活运用`android:configChanges`属性,实现对Activity生命周期的精细控制。

    activity生命周期 测试代码

    在测试过程中,开发者可能还会使用`Log`语句或者调试器来跟踪回调函数的执行顺序,确保Activity在各种场景下都能正确处理生命周期变化。对于复杂的Activity,理解其生命周期管理至关重要,可以避免内存泄漏、数据...

    安卓Android源码——(Activity生命周期).rar

    此外,了解生命周期可以帮助开发者处理屏幕旋转、设备配置改变等引起的状态变化,确保应用的稳定性和用户体验。 在“2-1(Activity生命周期)”这个文件中,可能包含详细的步骤解释、示例代码和可能的调试技巧,用于...

    2-1(Activity生命周期).zip

    本资源“2-1 (Activity生命周期).zip”可能包含一个名为"MyFirstProject"的示例项目,旨在详细讲解Activity的各个生命周期状态及其转换。 Activity的生命周期分为以下几个主要阶段: 1. **创建(Created)**:当...

    2-1(Activity生命周期).7z

    "2-1(Activity生命周期).7z"这个压缩包文件很可能包含了一个关于Android Activity生命周期的示例程序,用于帮助开发者理解Activity如何在不同状态之间转换。 Activity的生命周期包括几个关键状态:初始化(创建)、...

    Android Activity和Fragment的生命周期测试代码

    Activity生命周期包括创建、启动、运行、暂停、停止和销毁等阶段。这些阶段构成了一个完整的生命周期流程,开发者需要在相应的方法中处理特定的逻辑,如初始化资源、保存状态和释放资源等。以下是一些关键的生命周期...

    Android应用源码之(Activity生命周期).zip

    在"2-1(Activity生命周期)"的源码分析中,你可以看到如何在各个生命周期方法中添加调试语句,观察Activity状态的变化。这有助于开发者更好地理解何时何地执行特定操作,避免内存泄漏和不必要的计算。 此外,还应...

    Android笔记(5)---Activity生命周期

    Activity的生命周期变化有多种路径,常见的包括: - 启动到运行:onCreate() -&gt; onStart() -&gt; onResume() - 运行到暂停:onPause() - 暂停到停止:onStop() - 停止到销毁:onDestroy() - 重新启动:onRestart() -&gt; ...

    activity的生命周期

    - **生命周期监听**:可以使用`LifecycleObserver`接口或者`onActivityResult()`等方法来监听Activity的生命周期变化,实现更精细化的控制。 在提供的LifeCycleProject中,开发者可能已经实现了各种状态的模拟和...

Global site tag (gtag.js) - Google Analytics