1

私は現在、生成され、次のコマンドをキューから取り出して実行するか、少しスリープしてから再試行するスレッドを持っています。ただし、キューにコマンドがなく、アプリケーションにアクティブなアクティビティがない場合は実行したくありません。

私の質問は、どのルートを調査する必要があるか、他の人がどのルートをたどった可能性があるかということです。

  1. コマンドが入ったときにのみ処理するようにサービスをリファクタリングし、スレッドを生成しない
  2. スレッドに 3 番目の条件がある (!activityCount = 0 の場合はスレッドを停止する)

または、私はそれが間違っていて、それにバインドされたアクティビティがなくなった場合、Android はスレッドを自動的に終了できますか?

4

1 に答える 1

1

「自動的に」停止されるサービスを作成する方法があります。開発ガイドのバウンド サービスのページを参照してください。

バインドされたサービスは通常、別のアプリケーション コンポーネントを提供している間だけ存続し、バックグラウンドで無期限に実行されることはありません。

于 2011-03-14T14:25:10.943 に答える