1.用户触发和系统触发的不同事件会导致Activity从一个状态转化到另一个状态
2.很多事件会触发配置更改。例如横屏和竖屏之间的方向变化,其他情况,如语言或输入设备的改变等,也可能导致配置更改,当配置发生更改时,activity会被销毁并重新创建。原始的activity实例将会触发onpause(),onstop(),ondestroy()回调,系统将创建新的Activity实例并触发onCreate(),onStart(),onResume()回调,结合使用viewmodles,onSvaeInstanceState()方法和/或持久性本地存储,可以使得activity的界面状态在配置发生更改后保持不变
3.如果activity位于前台,并且用户点击了返回按钮,activity将依次经历onpause(),onSto(),和onDestroy()回调,活动不仅会被销毁,还会从返回栈堆中移除。在这种情况下,默认不会触发onSaveInstanceState()回调,不过可以通过onBackPressed()方法实现某种自定义行为,如果您替换onBackPressed()方法,我们仍然强烈建议您从被替换的方法调用super。onBackPressed()。否则,返回按钮的行为可能会让用户感觉突兀。
4.当被覆盖的activity的同一实例返回到前台时,系统会对该activity调用onRestart(),onStart()、onResume(),如果被覆盖的activity的新实例进入后台,则系统不会调用onRestart(),而只会调用onStart()和onResume()。(?还不知道如何会发生这种情况)