2011-03-10 122 views
7

如何在按下后退按钮时存储我的应用程序的状态。如何在后退按钮上按下应用程序

仅当按下后退按钮时onPause()被调用,但不是onSaveInstanceState我们可以将数据存储在outState包中。

一个答案可能是sharedPreference但我的问题是它将只存储int而不是intArray作为捆绑。

有什么方法可以明确地致电onSaveInstanceState

回答

2

user 600027 ...即使你能够调用onSaveInstanceState,捆绑包也不会被保存,我不相信它会在硬性杀死后可用。您可以编写一个方法将int数组转换为字符串集,然后通过调用putStringSet()来持久保存数据,然后编写一个方法将一组字符串转换为int数组。

JAL

1

您可以在Activity#onDestroy()中进行正常保存。

我认为onCreate(Bundle),onSaveInstanceState(Bundle)onRestoreInstanceState(Bundle)背后的意图是为您提供一个机会,让您在后台死亡之前保存状态。然后,应用程序应该恢复,并显示给用户,就好像什么都没有发生。

在后退按钮上按下用户在某种意义上与活动“完成”。应该保存的数据量是不同的。是的,在这种情况下,在SharedPreferences中保存你的状态是个好主意。

相关问题