2014-07-11 29 views
0

當用戶手動殺死一個應用時,什麼數據被清除?當用戶殺死一個應用程序(android)時會清除什麼?

我有一些功能,只有正確清除應用程序殺死和重新打開的數據,所以很清楚系統正在清除一些我丟失的數據。

基本上,我想知道什麼樣的刪除/清除數據以編程方式被調用,以便我可以嘗試弄清楚在關閉/重新打開時保留的是什麼,不會停留在kill/reopen。

編輯:我基本上是試圖找出終點之間(),它包含一個網頁視圖並強制關閉的活性差異/重啓

+0

你是什麼意思殺人?從應用程序菜單強制關閉? –

+0

沒有持久存儲的清理,也沒有機會讓你的代碼去做 - 死了已經死了。因此,封閉清理的設計思想基本上已經打破,需要更換。如果在下一次運行中清理是不可接受的,那麼您不應該首先在持久性存儲上傳播內容。 –

+0

@ShivamVerma是的,強迫關閉。 – user3829740

回答

0

當你強制關閉,應用程序將完全從內存中刪除。例如,所有的服務將被關閉,你可能持有的任何靜態變量,一切都將被清除。但是,持久存儲(如SharedPreferences)不會受到影響。在應用程序關閉前的每個值都將保持原樣。

另外,您不能期望在強制關閉時調用生命週期方法。因此,如果您在服務或活動的onDestroy中執行任何操作,那麼很可能會失敗,因爲該方法從未被調用過。

+0

我也有關於共享prefs.I有一個應用程序,它使用AccountManager在Android的帳戶上存儲憑據。但是,它是一個自己設計的憑證屏幕,不包含首選項視圖。而且,無論是否輸入憑據,我都無法更改憑據,刪除帳戶時也不會刪除憑據。如果新創建,刪除它是更改它們的唯一方法。然後所有視圖直接保存舊值。 Shivam,你能幫我一下嗎? – icbytes

+0

您需要發佈一個新問題以及其他問題的相關詳細信息。它會提供更好的可見性。 –

+0

猜猜爲什麼問這裏。 – icbytes

相關問題