Activity的三种状态:
显示状态:onCreate()/onStart()/onResume()
看不见状态:onPause()/onStop()
销毁状态:onDestroy()
单个activity时:
应用程序启动时:
onCreate()—>onStart()—>onResume()—>界面显示到前台
按返回键销毁时:
onPause()—>onStop()—>onDestroy()—>消失
两个Activity交互时:
由第一个界面通过intent跳转至第二个界面时:
先是第一个界面显示出来经历的生命周期:
第一个onCreate()—>第一个onStart()—>第一个onResume();
当点击第一个界面里的button进行跳转时经历的生命周期:
第一个onPause()—>第二个onCreate()—>第二个onStart()—>第二个onResume()—>第一个onStop();
按物理返回键,返回第一个界面时:
第二个onPause()—>第一个onRestart()—>第一个onStart()—>第一个onResume()—>第二个onStop()—>onDestroy();
Google为何设计这样的生命周期模式呢??
为何先暂停当前界面再跳转到另外的界面??
为了有更好的用户体验,才设计成这样的模式的,比如当前正在播放音乐,有电话打进来,如果音乐不暂停,同时又有电话打进来,这种用户体验是很差劲的。
为何要有onCreate()—>onStart()—>onResume()这样的显示顺序,这也是为了提高用户体验来设计的,如果没有这些做保证,就会出现逻辑混乱。
总之 谷歌生命周期的设计都是充分考虑到了更好的用户体验的,一个好的系统如果没有良好的用户体验,就不会得到更好的推广,谷歌做到了这一点,所以Android系统才会如此流行。