ほとんどのバックグラウンド処理は､ 持続的な作業によって達成されるのがベストだからだ｡
Workmanagerは､ バックグラウンド処理のための主要なコマンドAPIである｡
ワークマネージャーは､ Androidアプリケーションのバックグラウンドタスクを簡素化して管理します｡
アプリがフォアグラウンドでなくても､ バックグラウンドでタスクをスケジュールし､ 実行することができる｡
ワークマネージャーは､ 効率的にタスクを処理し､ ネットワーク接続やデバイスの状態を考慮し､ 定期的なスケジューリングをサポートするなど､
いくつかの利点を提供する｡
Androidでは､ バックグラウンドで実行されるタスクは､ UIコンポーネントと密に結合されるべきではない｡
ワーク・マネージャーは､ バックグラウンド・タスクとUIスレッドを分離し､ スムーズで応答性の高いユーザー・エクスペリエンスを保証します｡
ワークマネージャーは､ タスクをスケジュールするためのシンプルで信頼性の高い方法を提供します｡
アプリが実行されていないときでもタスクが実行されるようにし､ 失敗した場合は再スケジューリングする｡
ワークマネージャーは､ バッテリーの状態､ ネットワークの接続性､ その他の制約などの要素を考慮してタスクを実行する｡
条件が整えば､ 不必要なリソース消費とネットワーク利用を避けることができる｡
さらに､ Work Managerは､ エラー処理と再試行ポリシーのための組み込みメカニズムを提供する｡
また､ Work Managerはタスクの連鎖を可能にするので､ 複雑なワークフローを作成し､ タスクが特定の順序または並列で実行されるようにすることができます｡
ワークマネージャーアプリケーションで目にする用語について学びましょう｡
まず､ ワーカーはAndroid Work Managerライブラリの基本コンポーネントです｡
これは､ バックグラウンドで実行される必要がある実際の作業やタスクの単位を表している｡
Worker クラスを拡張し､ work メソッドをオーバーライドして Worker を作成します｡
do workメソッドの中で､ バックグラウンド・タスクを実行するコードを定義する｡
これには､ ネットワーク操作､ データベース更新､ ファイル処理などが含まれる｡
ワーカーは､ ファイルのダウンロード､ 通知の送信､ データの処理など､ 特定のタスクを実行する責任を負います｡
スレッドのライフサイクルと再スケジューリングの複雑さを､ 開発者であるあなたから抽象化します｡
作業要求 作業要求は､ ワーカーが実行する作業を定義し､ その作業を実行するための様々な制約や条件を指定するオブジェ
クトである｡
これには､ 実行するワーカーのタイプ､ ワーカーに渡す入力データ､ ネットワーク接続要件やバッテリーの制約など､
作業を開始するために満たさなければならない制約などの情報が含まれます｡
ワーカーリクエストクラスには､ 1回限りの作業リクエストや定期的なリクエストなど､ さまざまな種類があります｡
一度だけ実行されるべきタスクに使用される1回限りのワークリクエストと､ 特定の間隔で繰り返される必要があるタスクに使用される定期的なワークリクエストは､
定期的な更新やバックグラウンド同期に適しています｡
カスタムワークリクエストクラスを作成して､ より複雑な作業要件を定義することもできます｡
ワークマネージャーは､ バックグラウンドタスクを管理するための中心的なエントリーポイントです｡
Android Work Managerライブラリーが提供するクラスで､ 作業要求のキューイング､ スケジュール､
実行の監視に使用される｡
ワークマネージャーは､ デバイスの状態制約､ バッテリーの最適化､ ネットワークの接続性など､
さまざまな要因を考慮したタスクのスケジューリングを行う｡
アプリがフォアグラウンドでないときでも､ タスクが確実かつ効率的に実行されるようにする｡
開発者は､ Work Manager Getインスタンス・メソッドを使用してWork Managerのインスタンスを取得し､ それを使用してバックグラウンド・タスクをキューに入れ､
管理し､ 進捗状況を観察し､ タスクを処理する｡
完成度とエラー｡
Overall Work managerは､ バックグラウンドタスクの管理を簡素化し､ リソースの使用を最適化し､ 全体的なユーザーエクスペリエンスを向上させます｡
アンドロイド開発者にとっては､ これを確実にするための重要なツールだ｡
アプリがバックグラウンドで効率的かつ確実に実行され､ ユーザーの期待やデバイス固有の制約を満たすこと｡