`
WilliamLiu
  • 浏览: 27076 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

android屏幕旋转时,Activity不重新调用onCreate的方法

 
阅读更多

当手机转屏时,Activity的onDestroy和onCreate方法会被调用,为了避免Activity在转屏时销毁:需要修改AndroidManifest.xml,在activity属性中加入:

 

android:configChanges=”orientation|keyboardHidden”

android:configChanges,这个方法主要是负责列出清单,当清单上用户指定的设置改变时,Activity会自己处理这些变化。

orientation,屏幕界面旋转(可能是用户手动旋转的),【注意:如果你的开发API等级等于或高于13,你还需要设置screenSize,因为screenSize会在屏幕旋转时改变】

keyboardHidden,键盘辅助功能改变

 

修改后的Activity如下

 

<activity 
        android:theme="@style/ContentOverlay"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustPan|stateAlwaysVisible"
        android:name="com.weibo.net.ShareActivity"
</activity>

 

 

分享到:
评论

相关推荐

    Android屏幕旋转时Activity的生命周期

    当屏幕旋转时,Android默认的行为是销毁当前的Activity并重建一个新的实例,这就导致了`onCreate()`、`onStart()`和`onResume()`的再次调用。这是因为Android认为屏幕旋转是一种配置更改,可能会改变Activity的布局...

    Android 屏幕旋转Demo

    这个"Android屏幕旋转Demo"应该是为了演示如何在Android应用中处理屏幕方向的变化。在Android系统中,屏幕旋转涉及到多个方面,包括配置变更、Activity生命周期管理、布局适配以及资源的加载。以下是对这些关键知识...

    Android屏幕旋转

    本篇文章将深入探讨Android屏幕旋转时执行的方法以及`onConfigurationChanged()`方法的使用。 1. **屏幕配置变更**: 当Android设备的屏幕方向发生变化时,系统会认为设备的配置发生了变化。这包括屏幕方向、屏幕...

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    总之,处理Android屏幕旋转的关键在于理解Activity的生命周期,合理利用Fragment、Service、ViewModel等组件,以及妥善保存和恢复状态。通过这些方法,我们能够确保AsyncTask和ProgressDialog在屏幕旋转时依然正常...

    android中手动处理屏幕旋转问题

    2. **重写`onConfigurationChanged`方法**:当配置发生变化时(例如屏幕旋转),系统会调用这个方法,开发者可以在其中执行必要的逻辑来适应新的配置。 #### 实现细节 1. **配置Manifest文件**:首先需要在...

    android重力感应禁止调用oncreat方法

    ### Android重力感应与禁止调用onCreate方法详解 #### 一、问题背景与解决方案概述 在Android开发过程中,有时我们需要让应用支持横竖屏自动切换,但又不希望每次屏幕方向改变时都重新调用`onCreate()`方法。这是...

    Android Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成界面重叠

    然而,在使用Fragment时,有时会出现一个问题:当Activity由于配置更改(如屏幕旋转)等原因需要重建(recreate)时,内嵌的Fragment可能会被不正确地添加多次,导致界面重叠。这个问题通常与如何管理和恢复Fragment...

    Android开发 旋转屏幕导致Activity重建解决方法

    这样,当屏幕旋转时,系统不会销毁Activity,而是调用`onConfigurationChanged()`方法。开发者需要在这个方法中手动更新界面布局以适应新的屏幕方向。这种方法适用于横屏和竖屏布局相同的情况,避免了Activity的完全...

    Android开发--教你巧妙应对屏幕旋转

    默认情况下,当屏幕旋转时,Android会销毁当前运行的Activity,并重新创建一个新的实例,以适应新的屏幕方向。这可能导致数据丢失,除非开发者采取措施保存和恢复之前的状态。 1. **配置变更(Configuration ...

    Android的Activity周期测试

    - onStop():Activity完全不可见时调用,此时Activity被移出屏幕。 3. 销毁过程: - onDestroy():系统决定彻底结束Activity时调用,也可能是开发者主动调用finish()方法。 二、Activity状态转换测试 测试...

    设备旋转与Activity生命周期

    因此,系统会调用`onDestroy()`方法销毁当前Activity,然后调用`onCreate()`重新创建一个新的实例以适应新的屏幕方向。这一过程称为配置变更导致的Activity重建。 在处理设备旋转时,开发者有以下几种策略可以选择...

    简单实例屏幕旋转(学习专用)

    当屏幕旋转时,Android系统会销毁当前的Activity并重新创建,因此如果你的Activity保存了状态(比如用户输入的信息),你可能需要处理配置变更。有两种方法可以做到这一点:一是使用`onSaveInstanceState()`和`...

    Android的Activity周期 Android的Activity周期 Android的Activity周期

    7. 如果Activity因配置改变而重新创建,如屏幕旋转,会再次经历完整的生命周期,包括`onCreate()`。 #### 四、日志记录与调试 为了更好地理解Activity的生命周期,通常会在每个生命周期方法中添加日志输出,以帮助...

    Android webview旋转屏幕导致页面重新加载问题解决办法

    然而,当设备屏幕旋转时,Android系统会默认销毁当前活动(Activity)并重新创建,这可能导致Webview中的页面重新加载,用户体验受到影响。为了解决这个问题,我们可以采取以下策略: 1. **状态判断**: 在Activity...

    android生命周期管理:重置一个Activity

    在屏幕旋转时,系统会销毁前台的 Activity,并重新创建一个新的 Activity。这时,系统会使用保存的 Instance State 来恢复 Activity 的状态信息。 结论 Android 生命周期管理是 Android 应用程序开发中一个非常...

    android Activity 详述 demo

    当Activity被系统销毁(如屏幕旋转)时,可以使用`onSaveInstanceState(Bundle)`保存当前状态,然后在`onCreate(Bundle)`或`onRestoreInstanceState(Bundle)`中恢复。 在"ActivityDemo"项目中,开发者通常会创建一...

    android activity示例

    Activity生命周期的理解对于任何Android开发者来说至关重要,因为它涉及到应用如何响应系统事件,如屏幕旋转或内存不足的情况。让我们详细探讨一下这个主题。 首先,Activity的生命周期分为几个关键状态:初始状态...

    Android activity生命周期示例

    2. **启动(Started)**:`onStart()`方法在Activity可见但不一定是焦点时调用。此时,Activity已对用户可见,但可能被其他Activity遮挡。 3. **运行(Resumed)**:Activity进入前台并且完全可见时,`onResume()`...

Global site tag (gtag.js) - Google Analytics