WorkManager正式版リリース

2019/03/06

Androidでバックグラウンド処理をいい感じに実行するためのライブラリであるWorkManagerの1.0がリリースされました。

WorkManagerを使うと何が嬉しいのか、Android Developersの「Schedule tasks with WorkManager」にあるkey featuresを要約するとこんな感じ。

  • API 14以降で利用可能で、適切な仕組みを自動的に使い分けてくれる
    • API 23以上の端末ではJobSchedulerを使う
    • API 14 - 22の端末ではBroadcastReceiverとAlarmManagerを組み合わせて使う
  • ネットワークや充電の状態をタスク実行時の制約(constraints)として設定できる
  • 1回だけの実行にも繰り返し実行にも使える
  • 定期実行にも対応している
  • タスクを連結(chain)できる
  • アプリや端末を再起動してもタスクの実行が担保される

AndroidはOreoからはバックグラウンド処理の制約が厳しくなったので、あれこれ頑張るよりWorkManagerに任せてしまったほうがラクですね。あとは依存ライブラリが多めなのを許容できるかどうか。

自分も「Oreoのバックグラウンド処理制限に直面した話」で書いたようにWorkManagerを実戦投入しています。1.0にバージョンアップしなくては。

ちなみに、Android Developersに気になる記述がありました。

Note: WorkManager requires compileSdk version 28 or higher.

API 14以降で利用可能だけど、compileSdkは28以上にする必要があるわけですね。これはまあOK。

Note: WorkManager classes are already in the androidx.work package, but currently depend on non-AndroidX dependencies including the Support Library 27.1 and associated Arch component versions. A version of WorkManager with AndroidX dependencies will be released in the future.

Support Library 27.1への依存が残っているよ、と。AndroidXはおろか、28.0ですらないんですね。will be released in the futureなのでそのうち解消すると思いますが、なんかイマイチだなあ。

(2019.04.07 追記) [Version 2.0でAndrdoidXに対応した](https://developer.android.com/jetpack/androidx/releases/work#2.0.0)ようです。意外と早かった。

参考URL




関連(するかもしれない)記事


おススメ