1
我很难搞清楚在Android活动生命周期中从onPause和onResume传递简单值的最佳方式。我知道如何使用获取并为活动数据添加额外的捆绑包,但这是否适用于在同一活动之间传递数据?我应该使用SharedPreferences吗?在onPause和onResume之间传输数据的最佳方式是什么?
我很难搞清楚在Android活动生命周期中从onPause和onResume传递简单值的最佳方式。我知道如何使用获取并为活动数据添加额外的捆绑包,但这是否适用于在同一活动之间传递数据?我应该使用SharedPreferences吗?在onPause和onResume之间传输数据的最佳方式是什么?
如果您只是想存储应用程序的暂态,请覆盖onSaveInstanceState()
和onRestoreInstanceState()
。
这些不是生命周期方法,所以不总是调用。它们被系统使用,因此Activity
看起来像用户如果离开并回到它,它将如何离开它。如果用户明确终止应用程序 - 例如,按下“后退”按钮 - 它们不会被调用,所以您不应该将它们用于编写持久用户数据。
如果你想to record persistent data you have several options:
使用将取决于你想要的数据的一个商店。
此外,对于屏幕旋转的具体情况,有'onRetainNonConfigurationInstance()'和'getLastNonConfigurationInstance()'。 – CommonsWare 2010-05-30 11:16:58