あなたは活動とサービスの定義について混乱しているようです。明確にするために:
- アクティビティは、アクティビティライフサイクルステートマシンに従って実行されるものです。それぞれのハンドラーのコードは、UIに接続されたイベントループと相互作用します。
- サービスは、サービスライフサイクルステートマシンに従って実行されるものです。それぞれのライフサイクルハンドラーのコードは、インテントなどを処理する操作を実行しますが、UIを介してユーザーと対話することはありません。
ただし、これらは両方とも、アプリケーションの「メインスレッド」で実行されます。それ自体では、アクティビティまたはサービス(またはブロードキャストレシーバー、コンテンツプロバイダーなど)はスレッドではありません。ドキュメントを見ると、ActivityクラスとServiceクラスが実際にはスレッドを形成していないことがわかります。代わりに、これらはAndroidフレームワーク内で実行されるフックであり、フレームワークは適切なタイミングでアプリの「メイン」スレッドでそれらを呼び出します。
アプリ用に個別のスレッドを作成するか、を使用してAsyncTask
作業を行い、UIスレッドに簡単に公開できます(サービスではそれほど簡単には実現できません)。