首页 > 系统 > Android > 正文

Android Activity 之横竖屏的生命周期

2019-11-06 09:39:33
字体:
来源:转载
供稿:网友
1、刚进a页面(竖屏)a-onCreat —— a-onStart —— a-onResume 2、a页面竖屏变成横屏(a-竖 b-横)a-onPause —— a-onSaveInstanceState —— a-onStop —— a-onDestory —— b-onCreat —— b-onStart —— a-onRestoreInstanceState —— b-onResume 3、a页面由横屏变为竖屏(a-横 b-竖)a-onPause —— a-onSaveInstanceState —— a-onStop —— a-onDestory —— b-onCreat —— b-onStart —— a-onRestoreInstanceState —— b-onResume 上面是正常情况下页面横竖屏的生命周期,在切换横竖屏的时候页面会先销毁然后重新创建,但如果不想页面销毁再重建要怎样做呢,我们可以在AndroidManifest.xml中配置activity的configChanges属性(亲测),这个时候切换横竖屏的时候就不需要先销毁再重建了1、配置activity的configChanges属性               a:Andorid 3.2以前的SDK可以使用如下配置               android:configChanges="orientation|keyboardHidden"         b:而Adnroid 3.2以后的SDK必须添加一个screenSize属性,具体如下               android:configChanges="keyboardHidden|orientation|screenSize"               或者               android:configChanges="orientation|screenSize"2、重写onConfigurationChanged方法 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); Log.i(TAG, "onConfigurationChanged called."); switch (newConfig.orientation) { case Configuration.ORIENTATION_PORTRAIT: Log.i(TAG, "onConfigurationChanged called.ORIENTATION_PORTRAIT "); break; case Configuration.ORIENTATION_LANDSCAPE: Log.i(TAG, "onConfigurationChanged called.ORIENTATION_LANDSCAPE " ); break; } }3、由横屏切换成竖屏日志输出onConfigurationChanged called.onConfigurationChanged called.ORIENTATION_PORTRAIT
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表