Android 屏幕旋转生命周期以及处理方法

工作期间项目需要经常旋转屏幕,还有平板。所以会经常考虑Android 屏幕旋转生命周期,所以也有相应的处理方法。主要有两种办法解决。是根据屏幕旋转的生命周期具体使用。屏幕旋转时候,如果不做任何处理,activity会经过销毁到重建的过程。这种效果都不是想要的。

一、方法一

是在配置文件的activity加上这个

android:configChanges="keyboardHidden|orientation|screenSize"  这句话意思就是配置双引号里面参数意义,软键盘隐藏,方向,屏幕大小

Android 3.0以后要加上screenSize。

        <activity android:name="cn.com.karl.my.MySetNewsActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"> >
        </activity>

然后activity重写下面方法。有什么需要在旋转时候做处理,也是写在这个方法里面。

	//重写旋转时方法,不销毁activity
	@Override
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
	}

看下图旋转的生命周期,这张图是出自一位博客的图片,在最后我会注明出处。

二、方法二

不用在配置文件里写activity的配置。一切让它销毁在重建,只不过这过程中,把需要的,重要的值保存起来。重建后在取出来就行了。我不太赞成这样使用,资源没有充分使用。看看需要重写的两个方法。

	@Override
	protected void onSaveInstanceState(Bundle outBundle) {
		super.onSaveInstanceState(outBundle);
 		outBundle.putBoolean("RoadChange", mChange);
	}

	@Override
	protected void onRestoreInstanceState(Bundle savedInstanceState) {
		super.onRestoreInstanceState(savedInstanceState);
		mChange = savedInstanceState.getBoolean("RoadChange");
	}

生命周期如下图:

这篇博客参考Android屏幕旋转时Activity的生命周期。上面两张图片也是出自这篇博客。

转载请注明出处的博客网址: http://blog.csdn.net/qq_16064871

如有转载未注明出处博客网址,或者没有得到作者的同意。作者持有版权所有权。

时间: 2025-01-16 18:16:08

Android 屏幕旋转生命周期以及处理方法的相关文章

Android 屏幕旋转适配全解析

原创文章,转载请注明 ( 来自:http://blog.csdn.net/leejizhou/article/details/51233342 李济洲的博客 ) 这篇博文给大家介绍下,当手机屏幕旋转时我们应当怎么去处理,首先了解下默认情况下Android进行屏幕旋转的原理,当手机进行旋转时重力感应sensor起到作用,会将Activity销毁并按照横屏的屏幕尺寸进行重新构造,生命周期如下图所示,一句话总结就是默认情况下Activity进行屏幕旋转会自动进行onDestroy并重新onCreate

Android之Activity生命周期的浅析(二)

??上一篇文章,我们主要分析了Activity的正常情况下生命周期及其方法,本篇主要涉及内容为Activity的异常情况下的生命周期. Activity异常生命周期 ??异常的生命周期是指Activity被系统回收或者当前设备的Configuration发生变化(一般指横竖屏切换)从而导致Activity被销毁重建.异常的生命周期主要分以下两种情况: 1.相关的系统配置发生改变导致Activity被杀死并重新创建(一般指横竖屏切换) 2.内存不足导致低优先级的Activity被杀死 1.相关的系

Android进程的生命周期

Android系统想要永久的保留一个应用进程几乎是不可能的,所以系统就需要不断的释放老的或者不太重要的进程以便腾出足够的内存空间来运行新的或者更重要的进程,那么系统如何决定哪个进程应该保留哪个应该杀死呢,原来系统会根据进程中运行组件以及他们的状态列出一个"重要层级",当内存出现紧张的时候,系统会首先杀死最不重要的进程,接着是第二个,第三个...,以此类推来不断的释放系统资源直到内存不再紧张为止. 根据这个重要层级系统把进程分为了5个级别,下面要说的就是这五种不同的进程类型: 1.for

基础篇:3.熟练掌握Activity的生命周期和使用方法

1.Activity的生命周期 只要谈到Activity的生命周期,就少不了会涉及到下面这张经典图: 从图中可以看出一个完整的Activity生命周期涉及了onCreate.onStart.onResume.onpause.onStop.onRestart.onDestroy这7个方法,根据这7个方法结合上图,可以将Activity生命周期大致分为以下几种情况: (1)启动Activity:系统调用onCreate---onStart---onResume,系统开始进入running状态. (2

【Android】Activity生命周期(亲测)

测试手机:Nexus 5   系统:4.4 一.测试 测试代码: 1 package com.example.androidalarm; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.content.res.Configuration; 6 import android.os.Bundle; 7 import android.util.AttributeSet; 8 impo

View&#160;Controller&#160;生命周期的各个方法的用法

View Controller 生命周期的各个方法的用法 (2012-07-14 15:09:07) 转载 ▼ 分类: ios 正文开始 - (void)awakeFromNib; 这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面完成,比如splitViewDelegate,需要在非常早期完成. - (void)viewDidLoad; 用这个的时候,ViewController已经完

android开发之生命周期

android开发之生命周期 一:Activity的生命周期: 这几天了了解了安卓Activity的生命周期,对于生命周期有了大概的理解: 一个Activity的生命周期也就是Activity从生成到运行,到登入其他界面时暂停,再到到当其他界面生成时停止,或者重新进入界面重写启动,直到最后activity被销毁的一系列过程:总的来说Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Acti

Android 广播的生命周期 &nbsp;

一:Android 广播的生命周期          一个广播接收者有一个回调方法:void onReceive(Context curContext, Intent broadcastMsg).当一个广播消息到达接收者是,Android调用它的onReceive()方法并传递给它包含消息的Intent对象.广播接收者被认为仅当它执行这个方法时是活跃的.当onReceive()返回后,它是不活跃的. 有一个活跃的广播接收者的进程是受保护的,不会被杀死.但是系统可以在任何时候杀死仅有不活跃组件的进

应用程序生命周期的基本方法的转换

Android中生命周期方法有OnCreate().OnStart().OnReStart().OnReSume().OnPause().OnStop().OnDestroy(),一下是Activity的状态转换时相对应执行的方法的转换图 应用程序生命周期的基本方法的转换,布布扣,bubuko.com