2013-10-15 48 views
1

我目前正在研究需要服務以保持與XMPP服務器的連接的應用程序。測試表明,該服務在啓動時以服務級別優先級[300]運行,但在打開應用程序並完成其以後臺優先級[400]運行的所有活動後運行。是否可以將服務保持在300 [服務]優先級?

我對文檔的理解是,該服務應該比在後臺進程具有更高的優先級。是否有可能確保服務的優先級保持在300優先?

我希望能夠做到這一點,以減少服務重新啓動時重新啓動XMPP連接的開銷成本。我也試圖避免使用前臺服務來儘量減少UI混亂。

+0

你在哪裏得到這些數字? – CommonsWare

+0

從ActivityManager.RunningAppProcessInfo重要性字段中拉出 – FrazzleMcV

回答

0

測試表明,服務在啓動時運行在服務級別優先級[300],但在打開應用程序並完成其在後臺優先級[400]運行的所有活動之後。

這不是優先。那是importance。它們是有區別的。

推測,您的服務沒有運行,這就是爲什麼該過程從IMPORTANCE_SERVICE降至IMPORTANCE_BACKGROUND

是否可以確保服務的優先級保持在300優先級?

我將重點放在確保服務本身正在運行並且未被銷燬。

相關問題