Situation1:
Normal start: oncreate () → onstart () → onresume ();
Return to Jian Exit: onpause () → onstop () → ondestory ();
Situation2:
Normal start: oncreate () → onstart → () onresume ();
Press home key: onpause () → onstop ();
Normal start: onrestart () → onstart () → onresume ();
Situation3:
Normal start: oncreate () → onstart () → onresume ();
Switching between portrait and landscape screens: onpause () → onstop () → ondestory () → oncreate () → onstart () → onresume ();
Situation4:
Prerequisites: Set Android: configchanges = "orientation | keyboardhidden | screensize" in androidmanifest. xml of the activity"
Normal start: oncreate () → onstart () → onresume ();
Screen switching: onconfigurationchanged ();
Conclusion:
When setting the activity's Android: configchanges = "orientation | keyboardhidden | screensize", the screen switch will not re-call each lifecycle, but will only execute the onconfigurationchanged method;
Since android3.2 (api13), after setting Android: configchanges = "orientation | keyboardhidden" of the activity, the lifecycle of the activity will be called again. Because the screensize also changes with the switch between devices. Therefore, in androidmanifest. when the minisdkversion and targetsdkversion attributes set in XML are greater than or equal to 13, if you want to prevent the program from re-loading the activity during runtime, in addition to setting "orientation ", you must also set "screensize ".
From: http://www.eoeandroid.com/thread-542748-1-1.html
Summary of the lifecycle of an activity in various situations