2010-08-18 81 views
2

我有一個服務,在我的android設備上啓動時啓動,服務啓動使用startService命令,因此它與UI分開運行,我想通知當服務從操作系統或任務管理器中被殺死,因此我可以安全地保存數據,我已經覆蓋了onDestroy方法,但是當服務被任務管理器終止時,onDestroy方法上的代碼不會被執行!android如何處理服務被操作系統或taskmanager殺死

當有人試圖殺死我的服務時,我可以收到通知嗎?

+0

沒有人有任何想法? – maxsap 2010-08-25 14:00:48

+0

@Benjamin - 請認識到,對古代和所有外觀的長期遺棄問題的瑣碎編輯沒有什麼作用,除了給他們一個毫無根據的問題列表頂部的問題。 – 2014-05-04 18:48:06

回答

1

我認爲當你的應用程序被任務管理器或系統使用kill -9殺死時,dalvik進程完全被銷燬,沒有任何方法調用它,就像你在unix進程中調用kill -9一樣,他將立即死亡,沒有機會恢復。

當用戶使用任務管理器時,他應該知道這一點。 關於系統查殺,我敢肯定,除非系統迫切需要釋放資源,否則應該優雅地結束你的進程,然後你的onDestroy應該被調用。

您是否真的看到系統銷燬的應用程序(比如打開手機上幾乎所有的應用程序),而無需調用onDestroy或僅調用任務管理器?

+0

感謝你的迴應,我只測試任務管理器,因爲正如你所提到的,當操作系統殺死服務器時它首先調用ondestroy,問題也在於你提到任務被終止並且沒有方法被調用。 – maxsap 2010-10-07 12:40:20

相關問題