2014-07-11 32 views
0

当用户手动杀死一个应用时,什么数据被清除?当用户杀死一个应用程序(android)时会清除什么?

我有一些功能,只有正确清除应用程序杀死和重新打开的数据,所以很清楚系统正在清除一些我丢失的数据。

基本上,我想知道什么样的删除/清除数据以编程方式被调用,以便我可以尝试弄清楚在关闭/重新打开时保留的是什么,不会停留在kill/reopen。

编辑:我基本上是试图找出终点之间(),它包含一个网页视图并强制关闭的活性差异/重启

+0

你是什么意思杀人?从应用程序菜单强制关闭? –

+0

没有持久存储的清理,也没有机会让你的代码去做 - 死了已经死了。因此,封闭清理的设计思想基本上已经打破,需要更换。如果在下一次运行中清理是不可接受的,那么您不应该首先在持久性存储上传播内容。 –

+0

@ShivamVerma是的,强迫关闭。 – user3829740

回答

0

当你强制关闭,应用程序将完全从内存中删除。例如,所有的服务将被关闭,你可能持有的任何静态变量,一切都将被清除。但是,持久存储(如SharedPreferences)不会受到影响。在应用程序关闭前的每个值都将保持原样。

另外,您不能期望在强制关闭时调用生命周期方法。因此,如果您在服务或活动的onDestroy中执行任何操作,那么很可能会失败,因为该方法从未被调用过。

+0

我也有关于共享prefs.I有一个应用程序,它使用AccountManager在Android的帐户上存储凭据。但是,它是一个自己设计的凭证屏幕,不包含首选项视图。而且,无论是否输入凭据,我都无法更改凭据,删除帐户时也不会删除凭据。如果新创建,删除它是更改它们的唯一方法。然后所有视图直接保存旧值。 Shivam,你能帮我一下吗? – icbytes

+0

您需要发布一个新问题以及其他问题的相关详细信息。它会提供更好的可见性。 –

+0

猜猜为什么问这里。 – icbytes

相关问题