2012-11-26 48 views
0

我知道可以啓動一個服務沒有活動,...我的問題是:如果我啓動服務作爲前臺(調用startForegorund()),是應用程序對象總是實例化?應用程序對象和服務

或者是否有可能在某些情況下getApplication()== null?

回答

1

我會說Application是在您的應用程序運行時創建的,無論它是活動,前臺還是後臺服務。所以當你撥打getApplication時,你不應該得到null

+0

也許這是一個愚蠢的問題,但我的應用程序使用服務時出現了「奇怪」的行爲,這讓我覺得我的應用程序/活動/服務管理出現了一些問題。感謝您的回答。 –

+0

你可以發表你的代碼的例子,你有「奇怪」的行爲,可能有人可以幫助它。 –

+0

把這個代碼放在這裏有點複雜。我說當我嘗試關閉應用程序,完成alla活動,停止服務並調用System.exit(0)時,有時我發現應用程序仍在運行,如果從Android桌面啓動它,它會崩潰。看來有些活動沒有關閉......我專門研究了Application對象,我認爲這裏有一個問題:可能我以錯誤的方式使用了單例。在http://developer.android.com上,他們說通常不需要對應用程序對象進行子類化,我會遵循這個建議。 –