关于Activity中onCreate()方法执行两次的问题

这两天练习碰见个问题,当我要把窗口设置为横屏时,我使用的方法是在代码里调用:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
	

运行,没问题。

于是接着各种编码。。。

但是再次运行时发现,onCreate方法里打日志发现它总是执行两遍,找不见原因。

于是网络查找,有人说是Activity默认的是竖屏显示,当设置为横屏是,它会刷新一次屏幕,在此调用onCreate方法。

这可如何是好,再查阅,发现在xml文件中为Activity设置横屏属性就可以解决这一问题。

首先删掉之前的,

setRequestedOrientation。。。。。方法

其次为|Activity添加属性

 android:screenOrientation="landscape"

搞定

当一个Activity跳转到另一个Activity时,会依次执行以下生命周期方法: 1. 当前Activity的onPause()方法:当前Activity进入暂停状态,暂停执行所有的UI操作和动画效果,进入等待状态,等待下一个Activity执行完毕后再继续执行。 2. 新ActivityonCreate()方法:新Activity被创建,进行初始化操作,例如加载布局文件、初始化控件、绑定事件等。 3. 新Activity的onStart()方法:新Activity进入可见状态,但是还没有获取用户焦点。 4. 新Activity的onResume()方法:新Activity进入恢复状态,此时获得用户焦点,开始响应用户操作。 5. 当前Activity的onStop()方法:当前Activity进入停止状态,停止执行所有的UI操作和动画效果,进入等待状态,等待用户返回时再继续执行。 注意:如果新Activity是通过 startActivityForResult()方法启动的,则当前Activity的onPause()方法执行完毕后,会先执行Activity的onActivityResult()方法,然后才执行ActivityonCreate()、onStart()和onResume()方法。当用户按下返回键返回到当前Activity时,会依次执行以下生命周期方法: 1. 新Activity的onPause()方法:新Activity进入暂停状态,暂停执行所有的UI操作和动画效果,进入等待状态,等待当前Activity执行完毕后再继续执行。 2. 当前Activity的onRestart()方法:当前Activity重新启动,重新执行初始化操作。 3. 当前Activity的onStart()方法:当前Activity进入可见状态,但是还没有获取用户焦点。 4. 当前Activity的onResume()方法:当前Activity进入恢复状态,此时获得用户焦点,开始响应用户操作。 5. 新Activity的onStop()方法:新Activity进入停止状态,停止执行所有的UI操作和动画效果,进入等待状态,等待下一次启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值