【问题标题】:How to save app on back button press如何在按下后退按钮时保存应用程序
【发布时间】:2011-03-11 10:57:54
【问题描述】:

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

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

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

有没有办法显式调用onSaveInstanceState

【问题讨论】:

    标签: android


    【解决方案1】:

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

    日航

    【讨论】:

      【解决方案2】:

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

      我认为onCreate(Bundle)onSaveInstanceState(Bundle)onRestoreInstanceState(Bundle) 背后的意图是为你在后台被杀之前提供一个保存状态的机会。然后应用程序应该恢复并在用户看来好像什么都没发生一样。

      按下后退按钮时,用户在某种意义上“完成”了活动。应保存的数据量不同。是的,在这种情况下,最好将您的状态保存在 SharedPreferences 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-17
        • 2014-01-02
        • 1970-01-01
        • 2019-12-30
        • 2019-10-29
        • 2016-08-31
        • 1970-01-01
        相关资源
        最近更新 更多