最近开发一款手机播放器,节目列表界面是竖屏的,而播放界面需要是横屏的。测试过程中,从播放界面退回到列表界面时,列表会重新加载,看了一下打印,回到列表界面后,onCreate居然又执行了,而且是执行了两次。
按照activity的生命周期来说,onCreate一般只会执行一次的,从其他界面返回,居然还会再执行两次,很奇怪的现象。
网上搜了搜,应该是跟横竖屏切换有关,于是测试了一下。先把播放界面修改为竖屏,从播放界面返回后,列表界面正常,onCreate没有被重复调用,说明onCreate的执行和横竖屏切换是有关的。网上看到很多人说,在AndroidManifest.xml设置一下,添加 android:configChanges="orientation|keyboardHidden|screenSize",于是照做,再测试,果然解决问题。