onPause():Activity的生命周期中的一个阶段,当Activity退出前台不再和用户进行交互时调用,可以用来保存一些持久化的数据。
onSaveInstanceState():帮助Activity保存临时的数据,比如各种UI状态。
联系与区别:两个方法都能够保存数据,一般onPause()用于保存持久化数据,比如向数据库写入数据,而onSaveInstanceState()用于保存临时数据。
注:当某个Activity正常结束生命周期,比如用户按下Back键调用onDestroy()方法时,onSaveInstanceState()方法不会被调用。其他情况下,比如按下Home键或者跳转到其他Activity,或者当某个Activity由于内存不足等原因被系统杀死时,就会调用onSaveInstanceState()方法。该方法是在onStop()方法之前被调用(与onPause()方法没有前后顺序),也就是说在Activity调用onStop()方法变得不可见之前就会调用onSaveInstanceState()保存Activity的UI信息,当该Activity被系统杀死后重新启动时,就会在onCreate()方法中取出onSaveInstanceState()保存的数据重新加载到UI上。