2010-01-11 143 views

回答

4

不能使用Application.onTerminate(),因为谁也不能保证,这将被调用。

出于同样的原因,您不能使用onStop()onDestroy()或从Activity

因此,您必须在每个活动中的onPause()方法中进行保存。每个Activity都会在Application中创建一个saveState()。由于这将会被调用很多,所以您需要尽可能高效,理想情况下只需将更改后的数据写入持久性存储。

您还应该注意,onSaveInstanceState()应仅用于存储瞬态状态的Activity。例如,如果Activity由用户按下后退按钮onSaveInstanceState()而未被调用。所以,即使你没有共享状态,你仍然应该使用onPause()来保存持续的更改。