Android Architecture Tutorial: Developing an App with a Background Service (using IPC) を読みました。基本的には
- 別のプロセスでサービスを実行します。
- サービスで繰り返しタイマーイベントが発生します。
- タイマー イベント ハンドラー内で、ネットワークを実行してツイートを取得し、それに接続されているすべてのリスナーに通知します。リスナーは、IPC を介して接続されます。
このアプローチには 2 つの大きな特徴があることがわかります。
- 別のプロセス内で実行されるツイート取得アクション。
- メインアクティビティが終了しても、常に実行されます。
ただし、「常に実行する」ことは私の要件ではありません。メインのアクティビティを終了すると、すべてが停止します。
- メイン アクティビティ内で
AsyncTask
(または)を使用して、ツイート取得アクションを実行した方がよいでしょうか?Timer
すべてが単一のプロセス内で実行されます。もう使用しませんService
。 - AsyncTask (またはタイマー) を使用すると、より簡単に見えます。IPC に対処する必要はもうありません。
- または、
Service
アプローチを使用する方が良いでしょうか?サービスが提供する特典が不足していますか?