如何按后退按钮保存应用程序

时间:2011-03-10 23:35:09

标签: android

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

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

一个答案可能是sharedPreference但我的问题是它只会存储int而不是intArray就像捆绑一样。

有没有办法明确调用onSaveInstanceState

2 个答案:

答案 0 :(得分:2)

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

JAL

答案 1 :(得分:1)

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

我认为onCreate(Bundle)onSaveInstanceState(Bundle)onRestoreInstanceState(Bundle)背后的意图是为您提供在后台被杀之前保存状态的机会。然后应用程序应该恢复并向用户显示,好像什么也没发生。

在后退按钮上按下用户在某种意义上"完成"随着活动。应保存的数据量不同。是的,在这种情况下,将您的州保存在SharedPreferences中是个好主意。