`

android 4.0以上横竖屏切换不销毁activity,只调用onConfigurationChanged

阅读更多

网上很多文章都是说

在 AndroidManifest.xml 文件中的设置 Activity 元素的
android:configChanges="orientation|keyboardHidden"时,
切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法

本人用的是4.4的版本,发现设置了之后没有用,切换横竖屏照样会调用onCreate方法

然后上官网看了下api,发现当你的版本高于13的时候,设置orientation的同时要设置screenSize

 

http://developer.android.com/guide/topics/manifest/activity-element.html

"orientation" The screen orientation has changed — the user has rotated the device.

Note: If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize" configuration, because it also changes when a device switches between portrait and landscape orientations.

"screenSize" The current available screen size has changed. This represents a change in the currently available size, relative to the current aspect ratio, so will change when the user switches between landscape and portrait. However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device).

Added in API level 13.

 

所以,我们在配置里加上这个android:configChanges="orientation|screenSize" 这样,切换横竖屏的时候就只会调用onConfigurationChanged方法了

 

分享到:
评论

相关推荐

    activity横竖屏切换时销毁的处理

    可以通过在AndroidManifest.xml中对应的Activity标签内添加`android:configChanges="orientation|screenSize"`,声明自己处理配置变更,这样系统就不会默认销毁Activity,而是调用`onConfigurationChanged()`方法。...

    【Android每周专题】横竖屏切换

    - **自定义行为**:如果声明了`onConfigurationChanged()`,则不会销毁Activity,而是直接调用该方法,开发者需要在这里手动更新布局和数据。 3. **处理屏幕旋转**: 在`onConfigurationChanged()`中,你可以检查...

    Fragment的使用,隐藏显示以及androidPad横竖屏切换

    为了避免这种情况,可以在AndroidManifest.xml中为相应Activity设置`android:configChanges="orientation|screenSize"`,然后在Activity中覆盖onConfigurationChanged()方法,处理横竖屏切换。 ```xml <activity ...

    android安卓横竖屏切换效果、webview加载以及生命周期监测

    在Android系统中,设备屏幕方向的改变会导致Activity被销毁并重新创建,这是因为默认情况下,Android将横竖屏切换视为配置更改。开发者可以通过在AndroidManifest.xml中对特定Activity设置`android:configChanges=...

    Android应用源码之(横竖屏切换处理-IT计算机-毕业设计.zip

    设置`android:configChanges="orientation"`或`android:configChanges="screenOrientation"`,当屏幕方向改变时,系统会调用`onConfigurationChanged(Configuration newConfig)`方法,让你在不销毁Activity的情况下...

    android横竖屏切换不重启activity解决方案

    通过以上两个步骤,Activity在横竖屏切换时将不再重新创建,而是直接调用`onConfigurationChanged()`,使得Activity的状态得以保留,避免了数据丢失和用户体验中断的问题。 需要注意的是,虽然这种方式可以避免...

    Android横竖屏切换处理Demo源码.rar

    例如,设置`android:configChanges="orientation|screenSize"`可以使Activity不被销毁,而是直接调用`onConfigurationChanged()`方法。 3. **资源文件夹命名**: Android支持根据不同的屏幕方向创建不同的布局资源...

    安卓Android源码——(横竖屏切换处理).rar

    - **自定义处理**:若希望在不销毁Activity的情况下处理配置变更,可以在`onConfigurationChanged(Configuration newConfig)`方法中添加相应逻辑,并在AndroidManifest.xml中设置`android:configChanges=...

    横竖屏切换Activity生命周期

    在Android应用开发中,横竖屏切换是常见的用户交互场景,它涉及到Activity的生命周期管理。Activity是Android系统中用户界面的基本单元,它承载了应用程序的主要交互逻辑。当设备从竖屏旋转到横屏,或者反之,...

    fragment横竖屏切换demo

    设置Activity配置变更处理:在AndroidManifest.xml中,可以为对应的Activity设置`android:configChanges="orientation|screenSize"`属性,使得Activity在屏幕方向改变时不销毁重建,而是调用onConfigurationChanged...

    android动态创建fragment,横竖屏切换.

    这样,当横竖屏切换时,系统不会销毁Activity,而是调用这个方法。 - 使用`setRetainInstance(true)`方法来保留Fragment实例。在Fragment的生命周期中,当Activity重建时,只有Fragment的状态会保留,但请注意,这...

    Android应用源码之(横竖屏切换处理).zip

    1. **配置变更(Configuration Changes)**:横竖屏切换是Android系统中的一个配置变更,系统默认会销毁并重新创建Activity以适应新的屏幕方向。这可能导致性能开销,特别是当应用有复杂状态时。 2. **配置变更的...

    android横竖屏切换

    在`AndroidManifest.xml`中对应的`<activity>`标签里添加`android:configChanges="orientation|screenSize"`属性,可以让`Activity`不被销毁,而是直接调用`onConfigurationChanged()`方法。这样可以避免状态丢失,...

    Android 销毁当前的Activity

    让 Android 横竖屏切换时不销毁当前的 Activity 需要使用 `android:configChanges` 属性和 `onConfigurationChanged` 方法。同时,我们也需要正确处理屏幕方向的改变,以确保应用程序的正确运行。

    Android中WebView播放网上视频,横竖屏切换

    1. **配置Activity**:在AndroidManifest.xml中,将Activity的`android:configChanges`属性设置为`orientation|screenSize`,这样在横竖屏切换时,系统不会默认销毁Activity,而是调用`onConfigurationChanged()`...

    Android 横竖屏切换

    Android 横竖屏切换是 Android 开发中的一种常见需求,通过利用 Android 系统每次屏幕切换会重启 Activity 的特性,在 OnCreat 处自动加载不同显示状态下的 layout。下面将详细介绍 Android 横竖屏切换的实现方法。 ...

    Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法

    这样,当屏幕方向改变时,系统不会销毁Activity,而是调用`onConfigurationChanged()`方法。 接下来,我们需要在Activity的子类中重写`onConfigurationChanged()`方法,以便在屏幕方向改变时进行相应的处理: ```...

    android横竖屏切换总结

    在Android应用开发中,横竖屏切换是一个常见的需求,开发者需要处理好布局的变化以及由此引发的用户体验问题。本文将详细讲解如何在Android中实现横竖屏切换,并讨论如何禁止或控制这种切换。 首先,Android系统...

    解决Android手机屏幕横竖屏切换

    "Android 手机屏幕横竖屏切换解决方法" 在 Android 开发中,屏幕横竖屏切换是一个常见的问题。...以上方法可以解决 Android 手机屏幕横竖屏切换问题,避免 Activity 的销毁,提高应用程序的稳定性和用户体验。

    Android手机横竖屏切换过程中避免生命周期的变化的方法.pdf

    在Android 3.2及以上版本中,屏幕大小的改变也会触发Activity的销毁和重建,所以包含这个属性能确保在屏幕尺寸变化时不销毁Activity。 在`<activity>`标签中配置好上述属性后,还需要在Activity类中重写`...

Global site tag (gtag.js) - Google Analytics