2016-11-04 10 views

答えて

2

はい、このサービスが不定期に何らかの作業を行う必要がある場合は、それを実行することをお勧めします。いくつかの単一のアクションを実行する場合は、代わりにIntentServiceを使用します。 サービスは、他のコンポーネント(アクティビティ、別のサービス)にバインドして同時に起動することもできるため、アプリケーションが最小限に抑えられたり閉じられていても、バックグラウンドで作業を行うことができます。 不定期に長い実行操作をいくつか実行し、それらの操作でUIとやりとりする必要があるとします。これを行うには、サービスを作成して起動し、同時にバインドします。バインディング時にServiceConnectionからこのサービスを制御するためのインターフェイスを取得します。サービスはその間に長時間稼動することができます。ここでのポイントは、異なるActivitisがこのサービスにバインドし、異なる方法で操作を表現できることです。 インテントサービスは、デフォルトで独自のバックグラウンドスレッドを実行しますが、そのスレッドでの作業が完了すると自動的に停止します。

+0

「サービス」が起動したスレッドで実行される情報を追加します。だから、 'Service'を起動するためだけにThreadを作成し、' main'とは別のThreadで動くようにしてください。 –

関連する問題