android:screenOrientation="landscape" android
android:configChanges="keyboardHidden|orientation" 测试
这是设置屏幕方向为横屏,以及禁止在屏幕切换的时候重启Activity和隐藏键盘。横竖屏切换的知识能够看我另外一篇文章。 spa
原本是用的好好的,可是无心中在锁屏后再解锁的时候,应用会先竖屏,而后再转回横屏,并且还有一些时间间隔,因而我就去调查了一番: orm
首先,在全部Activity的生命周期加了一句打印LOG,发如今锁屏的时候,Activity就执行了一遍onDestroy,解锁的时候,又从新从onCreat来打开,因而就又执行了一遍onCreat里面的代码,,,这不科学,正常状况下是不会执行这两个的(除非系统内存吃紧,自动销毁,可是这个状况排除了)。 blog
通过反复查找和DEBUG以后,又和同窗同事讨论了半天,还去查看了锁屏的源代码(虽然没看懂几句),仍是没有结果,,, 生命周期
不过,皇天不负有心人,终于在stackoverflow上找到一大神的回答了~ 内存
问题的关键所在,就是API13之后,须要在 android:configChanges
的参数里面加一个screenSize!!! get
也就是: android:configChanges="screenSize|keyboardHidden|orientation" it
通过我亲手真机测试,问题很干净地被解决了,妈妈不再用担忧它重复onCreate了! io