2013-03-28 172 views

回答

2

我想在系統殺死或強制停止我的活動或進程時堅持一些信息。

你不行。當系統強制停止你的應用程序時,它會被簡單地殺死。沒有回調被調用。

無論何時調用Activity的onPause()方法,都應該保持數據。

對於簡單的int,String等值,可以使用SharedPreferences。對於更多有組織或更大的數據集,您應該使用SQLite database

+0

除此之外,@Raghav Sood的意思是,當系統殺死你的活動時,你不能只是這樣做。在發生類似情況之前,您應該儘快保存重要數據。 –

+0

嘗試使用線程和處理程序將序列化對象保存到文件中。給自己帶來嚴重的頭痛。 –

0

它取決於您想要維護的數據。對於少數配置信息或單個變量,只需使用Bundle即可。 SQlite更復雜,但允許搜索和數據編輯,這是與Bundle科學融合的。一般來說,除非需要,否則使用Bundle。 顯然,隱含的是Bundle的使用不是自動的,你必須在應用程序被終止之前,在onDestroy()或onPause()中寫入數據。它旨在保護從同一活動的一次運行到另一次運行的動態數據。 在最簡單的情況下,對於少數字符串或整數,如果要持久保存數據,則應該選擇第三個選項SharedPreferences。

相關問題