1

現在、XMPP サーバーへの接続を維持するためのサービスを必要とするアプリケーションに取り組んでいます。テストによると、サービスは起動時にサービス レベル優先度 [300] で実行されますが、アプリケーションを開いてすべてのアクティビティを終了すると、バックグラウンド優先度 [400] で実行されます。

ドキュメンテーションの私の理解では、サービスはバックグラウンドにあるプロセスよりも優先度が高いはずです。サービスの優先度を 300 に維持することは可能ですか?

サービスの再起動時に XMPP 接続を再起動するオーバーヘッド コストを削減するために、これを実行できるようにしたいと考えています。また、UI の乱雑さを最小限に抑えるために、フォアグラウンド サービスを使用しないようにしています。

4

1 に答える 1

0

テストによると、サービスは起動時にサービス レベル優先度 [300] で実行されますが、アプリケーションを開いてすべてのアクティビティを終了すると、バックグラウンド優先度 [400] で実行されます。

それは優先事項ではありません。それはimportanceです。違いがあります。

おそらく、サービスが実行されていないため、プロセスが から に落ちましIMPORTANCE_BACKGROUNDIMPORTANCE_SERVICE

サービスの優先度を 300 に維持することは可能ですか?

サービス自体が実行中であり、破壊されていないことを確認することに集中します。

于 2013-10-15T16:53:44.267 に答える