2011-12-30 34 views
0

我有一個應用程序在後臺服務。服務在啓動後運行,但是當應用程序啓動並關閉時,服務會保留應用程序使用的所有內存。後臺服務保留應用內存

如何清理所有內存以便服務在啓動時運行燈光?

回答

1

停止服務,如果您尚未這樣做(通過stopService()stopSelf())。

之後,當您的進程需要其他進程的RAM時,您的進程最終將被操作系統終止。

+0

但是TI不希望服務被關閉,我需要在應用程序關閉後運行服務。 – Fischer 2011-12-30 16:17:28

+1

首先,這通常不是一個好主意。用戶真的不喜歡開發人員保持服務始終運行。用戶將使用任務殺手和設置應用來擺脫您的服務。 Android儘管提供了服務,但最終還是會擺脫您的流程,儘管不一定很快。與此同時,您的流程將使用最高峯時所需的大量內存。所以,要麼擺脫永恆的服務(例如,使用'AlarmManager'和一個輪詢模式),要麼住在消耗這個內存的事實中。 – CommonsWare 2011-12-30 16:26:44

+0

謝謝。如果服務人員更新了通知,服務人員只會檢查每個x小時的網站。我可以使用AlarmManager完成此任務嗎? – Fischer 2011-12-30 20:47:18