在Android奧利奧上,如果我的應用程序在前臺啓動服務,然後關閉我的應用程序,服務會在晚些時候被殺死嗎?還是會保持活力?Android上的服務奧利奧
從好像該服務將被殺死,如果應用程序在後臺這個視頻後,https://www.youtube.com/watch?v=Pumf_4yjTMc&t=198s
然而,雖然測試,服務也相當活躍。將感謝任何生產反饋。
在Android奧利奧上,如果我的應用程序在前臺啓動服務,然後關閉我的應用程序,服務會在晚些時候被殺死嗎?還是會保持活力?Android上的服務奧利奧
從好像該服務將被殺死,如果應用程序在後臺這個視頻後,https://www.youtube.com/watch?v=Pumf_4yjTMc&t=198s
然而,雖然測試,服務也相當活躍。將感謝任何生產反饋。
服務得到最終
當一個應用程序進入後臺殺死,它有幾個 分鐘,它仍然允許創建和使用服務的窗口。在該窗口的末尾 處,應用程序被認爲是空閒的。在此 時間,系統會停止應用程序的後臺服務,就好像 應用程序調用了服務的Service.stopSelf()方法。
https://developer.android.com/about/versions/oreo/background.html
請注意,在我的測試中,「幾分鐘」是〜1分鐘。 – CommonsWare
如果他們真的給了我們一個更窄的時間窗口,當我們可以預料到事情會停止的時候,這將是很好的 – tyczj
如果您關閉或銷燬您的應用程序,導致所有這些進程都與應用程序的生命週期相關聯,如果生命週期關閉,殺死,服務的調用和當前所有應用程序的進程都將被終止或者墜毀,所有的過程都會走向相同的一端。
謝謝您的回答!感謝您的迴應。這是我的不好,因爲我切換了不針對API 26的工作分支。 我認爲,值得一提的是,上述限制僅適用於應用針對api 26(Android O)的情況。 我已經開始移動到Job scheduler,並且這似乎在Android O上工作。
「值得一提的是,上述限制僅適用於應用程序針對api 26(Android O)」 - 用戶可以對於消耗大量電池的應用程序,也可以在Android 8.0+上手動啓用此限制。 – CommonsWare
@CommonsWare是真的,但是大多數用戶做這件事的可能性非常小 – Akshay
同意 - 我只是想確保閱讀你的答案的人知道它。 – CommonsWare
原來我沒有在我的應用中使用api 26。一旦我開始瞄準api 26,它會在應用程序處於後臺時關閉服務。 – Akshay