2010-09-10 60 views
1

我有一個應用程序,將許多表單作爲單獨的活動實現。表單變量是基於數據庫動態構建的,並且應用程序的C++端有很多變量(通過JNI訪問)。我沒有看到如何將這些數據存儲到持久性存儲器中,每當這些許多活動之一的onPause()或onSaveInstanceState()進入後臺時,都是智能地使用處理器時間。而且我不明白,即使我保存每個活動的局部變量,在那段時間內,我也能夠在所有其他活動的上下文中恢復單個活動。如何阻止任何活動被操作系統殺死的應用程序

我設置了一項服務,當我檢測到應用程序已進入後臺時,它會自動保存文件。 (我在任何活動中調用onPause()時設置時間戳記,然後在onResume()對任何其他活動調用時清除時間戳記。如果時間超過幾秒鐘,我知道我不是頂級活動和服務保存文件)。

我想要做的是繼續照常,除非操作系統殺死我的一個活動。因爲我們並不總是得到這個通知,所以我認爲如果有一種方法可以告訴操作系統我寧願你殺了整個應用程序而不是一個活動。

在此先感謝!

回答

0

設置clearTaskOnLaunch="true" in the manifest's <activity> tag for the root Activity combined with setting noHistory =「true」`在所有活動的標籤中應該做你正在尋找的東西。

http://developer.android.com/guide/topics/manifest/activity-element.html#clear http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

+0

感謝響應。該標誌的描述表明,無論何時進入主屏幕或切換任務,除根之外的所有其他活動都會被終止。我希望能夠實現的是殺死我的整個應用程序,但只有當操作系統因內存相關原因而殺死我的一個活動時。在正常情況下,不需要做任何事情,而不是殺死一個相關的活動而不是其他的,我寧願讓我失望。 iPhone,Windows Mobile等都默認以這種方式運行。它適用於我的情況,但不幸的是不知道是否可能。 – 2010-09-11 13:46:03

+0

您是否找到解決方案? – Christian 2012-10-19 21:17:03

相關問題