[英]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.