2013-09-30 52 views
0

我的問題與這個問題有關。 kill a process running in the android emulator 應用程序未在android模擬器中關閉,它在實際設備中的行爲是否類似? 我正在運行後臺任務(通過服務),每次啓動應用程序時都會執行該任務。問題是即使調用了onDestroy(),應用程序進程也沒有關閉。我無法啓動我的後臺任務,因爲它假定任務已經運行。在android模擬器中運行的進程沒有關閉

回答

0

要停止服務,您不應直接撥打onDestroy,而應該從服務本身的其他上下文撥打stopService,或撥打stopSelf

OnDestroy是由Android提供的鉤子,因此您可以對系統進行反應來終止服務,但並不能保證在任何情況下都會調用此方法。例如,如果您的服務在系統處於內存壓力下時被終止,它將不會被調用。

+0

謝謝,我知道,不應該直接調用onDestroy,而寫我的意思是,android系統正確調用onDestroy,而不是由我。 – user1831986

+0

你服務粘嗎? – Snicolas

+0

我的服務沒有問題,應用程序的主要問題。我檢查了衆所周知的Android庫中的其他演示應用程序,它們在應用程序終止後也沒有關閉(進程)。 – user1831986