2012-04-23 32 views
4

我正在嘗試編寫一個必須有後臺線程始終運行的應用程序。 (是的,我知道這不是建議,但這個應用程序不是爲普通市場和後臺線程definitly設計唯一的方法來做到這一點!)倖存的內存清潔的Android應用程序

所以我創建一個服務(作爲一個新的進程)啓動它在前景模式。在服務中,我將啓動一個線程來監視系統中的Logcat輸出。

所以一切正常,直到有人去任務管理器,並點擊「清除內存」按鈕。

不幸的是,我找不到任何可能性,以保持這個記憶清潔。 我已經嘗試過各種方式讓服務生存下來,我甚至試圖設置一個重複的警報給AlarmManager,但即使這樣也會被取消。

我很確定我錯過了什麼,有沒有人有一個想法如何獲得一個過程/線程生存這個「內存清理」按鈕? 在此先感謝。

回答

2

所以我創建一個服務(作爲一個新的Process)

請甩掉多餘的進程。它並沒有增加你的價值,它浪費了CPU,RAM和電池。

所以一切都工作得很好,直到有人去任務管理器,點擊「清除內存」按鈕。

Android中沒有「任務管理器」,Android中沒有「清除內存」按鈕。您可能正在考慮由特定設備製造商添加的東西。

我很確定我錯過了什麼,有沒有人想法如何獲得一個過程/線程生存這個「內存清理」按鈕?

如果「內存清理」與「設置」中正在運行的應用程序列表中的「強制停止」相同,則無法「獲取進程/線程以存活」。歡迎用戶終止任何她想要的應用程序。事實上,在Android 3.1+上,「強制停止」意味着您的應用程序永遠不會再次運行,除非用戶稍後手動啓動您的某個活動。

歡迎您使用自己的本地代碼守護程序創建自己的固件,並且這些固件不能「強行停止」。但是,作爲標準SDK應用程序安裝的任何東西都可以強制停止。

+0

嗯,好吧,現在你說了,我談論的Taskmanager,似乎是一個三星特定的應用程序。推薦我的錯。我認爲它確實是一個Force stop,但我不確定這個App是如何工作的,但是在Logcat中,我讀了一些關於「ActivityManager Force Stopping package ...」的內容......所以它似乎是一個「Force Stop」 – StaticBR 2012-04-23 11:49:07

相關問題