横竖屏切换的Activity生命周期
在上一篇我们讲解了一个Activity与多个Activity的生命周期。横竖屏切换的时候生命周期有些不同,这篇进行讲解。运行成功一个Activity之后执行的方法和顺序是onCreate--->onStart--->onResume。显示Activity之后,点击横屏切换后,执行的方法和顺序是,onPause--->onStop--->onDestory,这些是先销毁原有的生命周期,之后又会重新建立一个生命周期,onCreate--->onStart--->onResume。
在销毁的时候,有的时候我们要保存一些信息 用到这个onSaveIntanceState方法,在Activity销毁之前会绑定一个Bundle值。
简单代码讲解:protected void onSaveInStanceState(Bundle outState)
{
super.onSaveInStanceState(outState);
outState.putString("name","gang");
}
{
super.onSaveInStanceState(outState);
outState.putString("name","gang");
}
有了这个方法之后,切换横竖屏销毁的时候,执行顺序是onPause--->onSaveInstanceState--->onStop--->onDestory,销毁之后重新建立生命周期与上面的相同。重新启动会检查onCreate中的SaveInstanceState都是通过这个得到一些原有的状态信息,取出信息。
if(saveInstanceState!=null)
{
textview.setText(saveInstanceState.getString("name"));
}
但是我们现实开发过程中,横竖屏的切换不常用,还要考虑适配等问题,公司中的主流仍然是竖屏。