1. onCreate, onStart, onResume, onPause, onStop, onRestart, onDestroy
如果连这7个方法都不清楚的话,那么就该从头开始看Android了。下图是Activity的生命周期,加深记忆用:
2. onNewIntent
在AndroidManifest.xml将某activity的android: launchMode设置为singleTask或singleTop的情况下,当需要开启(startActivity)这个activity的时候,如果当前应用的Activity栈中已经存在了该activity,那么该activity将不会按照
onCreate → onStart → onResume
的顺序启动新的activity,而是会按照
onNewIntent → onResume
的顺序将Activity栈中已经存在的那个Activity实例调用到最前台。
调用startActivity方法时传递的intent参数会作为onNewIntent方法的参数被使用,而Activity类本身通过getIntent方法返回的intent变量则是初始的intent值,从onNewIntent方法无关,除非调用startActivity之前通过setIntent设置intent,以保持intent总是最新的intent。
3. onSaveInstanceState与onRestoreInstanceState
当设备的配置(横竖屏、语言等)发生变化而使Activity自