作为我关于在活动之间共享状态的问题的后续,如何保存我的应用程序的实例状态?由于Application不扩展Activity,因此没有onSaveInstanceState覆盖的方法。
注意:事先,这不是重复的。尽管它的名字,我如何保存 Android 应用程序的状态?与活动状态有关
您不能使用,Application.onTerminate()因为不能保证会调用它。
出于同样的原因,您不能使用onStop()或onDestroy()from Activity。
因此,您必须onPause()在每个活动的方法中进行保存。每个人Activity都会有一个saveState()您在Application. 由于这将被多次调用,因此您需要使其尽可能高效,理想情况下只将更改的数据写入持久存储。
你也应该注意到,onSaveInstanceState()仅用于存储应使用瞬态的状态Activity。例如,如果Activity用户按下后退按钮结束,onSaveInstanceState()则不会调用。因此,即使您没有共享状态,您仍然应该使用onPause()来保存持久更改。
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |