If you save the state of the application in a bundle (typically non-persistent, dynamic data in onSaveInstanceState
), it can be passed back to onCreate
if the activity needs to be recreated (e.g., orientation change) so that you don't lose this prior information. If no data was supplied, savedInstanceState
is null.
... you
should use the onPause() method to write any persistent data (such as
user edits) to storage. In addition, the method
onSaveInstanceState(Bundle) is called before placing the activity in
such a background state, allowing you to save away any dynamic
instance state in your activity into the given Bundle, to be later
received in onCreate(Bundle) if the activity needs to be re-created.
See the Process Lifecycle section for more information on how the
lifecycle of a process is tied to the activities it is hosting. Note
that it is important to save persistent data in onPause() instead of
onSaveInstanceState(Bundle) because the latter is not part of the
lifecycle callbacks, so will not be called in every situation as
described in its documentation.
source
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…