我正在尝试使用保存一些变量SharedPreferences.在我的onCreate()方法中,我使用了初始化我的变量SharedPreferences,并且我想在应用程序结束时存储这些变量.我将此代码放在onTerminate()方法上,但永远不会存储变量.我认为该onTerminate()方法永远不会被调用,因为我也看到了对这种方法的评论// not guaranteed to be called.那么如何在我停止应用程序之前保存变量的状态呢?我知道怎么样,我只是不知道在哪里放置我的代码.
实际上,为了安全起见,你应该将内容保存在onPause()中,因为(至少在3.0之前)你的进程在调用onPause()后可能被操作系统杀死.这意味着可能会或可能不会调用onStop()和onDestroy().
在任何情况下,都不能保证会调用onDestroy().如果操作系统决定终止你的进程,它就不会在任何活动上调用onDestroy().
我希望当应用程序结束时存储这个变量。
这是行不通的,因为当“应用程序结束”时您无法获得控制权。
任何一个:
当数据改变时保存数据,或者
当用户告诉您时保存数据(例如,通过某种“保存”操作栏项目),或者
onPause()当您修改数据的活动被调用时保存数据
| 归档时间: |
|
| 查看次数: |
17188 次 |
| 最近记录: |