繁体   English   中英

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

[英]How to save app on back button press

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

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

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

有没有办法显式调用onSaveInstanceState

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

JAL

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM