2011-05-25 75 views
0

我的情況:
我已經創建了一個Android服務,它在應用程序啓動時啓動。該服務由一個簡單的Thread組成,該Thread等待5秒鐘,寫入日誌消息並再次等待。任務管理器響應殺死請求

關閉應用程序後(使用後退按鈕),Android選擇重新啓動我的服務,因爲我在OnStartCommand中返回START_STICKY。 在調試應用程序時,我實際上可以使用DDMS來終止進程。 Android再次選擇重新啓動服務。這是根據手冊預計的。

我還安裝了一個任務管理器,並用它來「殺死」實例。時髦的事情是,現在我的服務不再重新啓動。

這個時髦的事情是這樣的:在任何一種情況下,都不會調用我的類的銷燬代碼。我的等待線程上沒有引發InterruptedException。我的應用程序似乎沒有辦法知道它正在被銷燬。

我的問題:
我該如何解決這個問題,並回應殺人請求?我已經注意到DVM缺乏sun.misc.Signal和sun.misc.SignalHandler的正確信號處理(如果這甚至被任務殺手所使用)。

我需要知道我的應用程序正在銷燬,所以我可以正確關閉文件句柄,數據庫連接等。

非常感謝您的任何幫助。

回答

0

我該如何解決這個問題並響應殺死請求?

你不知道。 OTOH,這個任務殺手的行爲應該在Android 2.2中被淘汰,所以最終不會成爲問題。

+0

經過大量測試後,我發現事實確實如此。你沒有。期。 – djBo 2011-06-21 13:11:17

相關問題