onNewIntent(Intent intent)
该方法是和Activity的启动模式挂钩的,用在启动模式为:singleTask中(如果栈中有该实例,就销毁之上所有的Activity,然后至于栈顶)。
第一次创建该Activity时,不会执行onnewIntent方法,
当从另一个Activity返回到该Activity时,执行该方法,onNewIntent()>onRestart()>onStart()>onResume()。
如果是系统Kill掉了进程,那么不执行该方法。
注意:在onNewIntent(Intent intent)方法内部使用setIntent(Intent intent),也就是更新Activity中的Intent,避免使用老的Intent。
onSaveInstanceState
onSaveInstanceState 也就是保存数据的,保存的是临时数据;如果突发情况kill掉了app,那么此时onSaveInstanceState就被调用了。以下几种是情况onSaveInstanceState 能被执行:
1:长按home键,
2:电源键关闭屏幕
3:横竖屏切换
4:activity跳转
5:应用内存不足时,回收掉该activity。
注意:如果是手动调用finish(),那么不执行该方法!
onSaveInstanceState如果被调用,那么一定是在onStop()方法之前调用。
当kill掉app时,不一定走onSaveInstanceState方法,但是一定会走onPause方法,所以我们可以在onPause方法中保存一些持久性数据。
注意:当需要恢复数据时,记得在onCreate中判null操作。