WorkManager

WorkManager API, güvenilir bir şekilde çalıştırılması gereken ertelenebilir, eşzamansız görevleri planlamayı kolaylaştırır. Bu API'ler, çalışma kısıtlamaları karşılandığında çalışması için bir görev oluşturmanızı ve görevi WorkManager'a devretmenizi sağlar.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
30 Ekim 2024 2.9.1 - - -

Bağımlılıkları bildirme

WorkManager'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir:

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Eski

dependencies {
    def work_version = "2.9.1"

    // (Java only)
    implementation "androidx.work:work-runtime:$work_version"

    // Kotlin + coroutines
    implementation "androidx.work:work-runtime-ktx:$work_version"

    // optional - RxJava2 support
    implementation "androidx.work:work-rxjava2:$work_version"

    // optional - GCMNetworkManager support
    implementation "androidx.work:work-gcm:$work_version"

    // optional - Test helpers
    androidTestImplementation "androidx.work:work-testing:$work_version"

    // optional - Multiprocess support
    implementation "androidx.work:work-multiprocess:$work_version"
}

Kotlin

dependencies {
    val work_version = "2.9.1"

    // (Java only)
    implementation("androidx.work:work-runtime:$work_version")

    // Kotlin + coroutines
    implementation("androidx.work:work-runtime-ktx:$work_version")

    // optional - RxJava2 support
    implementation("androidx.work:work-rxjava2:$work_version")

    // optional - GCMNetworkManager support
    implementation("androidx.work:work-gcm:$work_version")

    // optional - Test helpers
    androidTestImplementation("androidx.work:work-testing:$work_version")

    // optional - Multiprocess support
    implementation("androidx.work:work-multiprocess:$work_version")
}

Kotlin uzantılarını kullanma hakkında bilgi edinmek için ktx dokümanlarını inceleyin.

Bağımlılıklar hakkında daha fazla bilgi için Derleme Bağımlılıkları Ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sayı oluştur

Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.

Sürüm 2.10

2.10.0 sürümü

30 Ekim 2024

androidx.work:work-*:2.10.0 yayınlandı. 2.10.0 sürümü bu taahhütleri içerir.

2.9.1 sürümünden bu yana yapılan önemli değişiklikler

  • İşler'e WorkManager kaynağından izleme etiketleri eklendi. Bu etiketler, yürütülmekte olan Çalışanın adını içereceği için "adb shell dumpsys businessscheduler" işinin çok daha kolay anlaşılmasını sağladı. WorkManager'ün önemli alanlarının etrafına da izleme bölümleri eklenir.
  • Configuration.workerCoroutineContext, CoroutineWorker'un yürütüldüğü dağıtıcının kontrolü için eklendi.
  • Geliştiriciler, Constraints.setRequiredNetworkRequest yöntemini kullanarak bir çalışan için kısıtlama olarak NetworkRequest belirtebilir. Bu sayede, bu çalışanın hangi ağda çalışacağı konusunda daha ayrıntılı kontrol sahibi olabilirsiniz.
  • WorkManager 2.10.0 artık SDK 35 ile derlenmiş ve SDK 35 uyumluluğu için çeşitli değişiklikler içeriyor.

Sürüm 2.10.0-rc01

24 Ekim 2024

androidx.work:work-*:2.10.0-rc01 yayınlanır. 2.10.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 2.10.0-beta01

2 Ekim 2024

androidx.work:work-*:2.10.0-beta01 yayınlanır. 2.10.0-beta01 sürümü bu taahhütleri içerir.

Sürüm 2.10.0-alpha04

18 Eylül 2024

androidx.work:work-*:2.10.0-alpha04 yayınlandı. 2.10.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bir ön plan çalışanının, ön plan hizmet türüne göre yürütme zaman aşımı nedeniyle durdurulması için durdurma nedenini STOP_REASON_FOREGROUND_SERVICE_TIMEOUT ekleyin. (Ibd0af)

Sürüm 2.10.0-alpha03

4 Eylül 2024

androidx.work:work-*:2.10.0-alpha03 yayınlandı. Sürüm 2.10.0-alpha03 bu kaydetmeleri içerir.

Yeni Özellikler

  • WorkManager'teki işler için izleme etiketleri eklendi. Bu, yürütülen işleyicinin adını içereceğinden "adb shell dumpsys jobscheduler" komutunun anlaşılmasını çok daha kolaylaştırır. WorkManager'ün önemli alanlarının etrafına da izleme bölümleri eklenir.

API Değişiklikleri

  • WorkManager 2.10.0 artık SDK 35 ile derleniyor.
  • "Short service" ve "data sync" türündeki ön plan işleyicilerin zaman aşımına uğraması ve WorkManager, stopSelf()'u çağırmadığı zaman ANR'ye neden olması sorunu düzeltildi. Bu düzeltme yalnızca ön plan hizmet türlerinin kullanıma sunulduğu API 34 ve 35 yüklü cihazlar için geçerlidir. (ca06b2, b/364508145)
  • WorkerFactory kullanılırken Worker'ın bağlandığı uzak işlemi değiştirmeyi sağlayan yeni WorkerParameters API'leri. (Ibdc8a, Ie8a90, I7373f)

Hata Düzeltmeleri

  • İşin ön plan türü Android 14 ön koşul izinleri iptal edildiğinde WorkManager ürününün uzun çalışan bir çalışanı (ör. ön plan çalışanı) yeniden başlatmaya çalışması nedeniyle oluşan kilitlenme düzeltildi. (b/333957914)
  • Yeni platform API'lerine erişim manuel olarak belirtilmemiştir. Bunun nedeni, AGP 7.3 veya sonraki sürümlerde R8 kullanıldığında (ör. R8 3.3 sürümü) ve AGP 8.1 veya sonraki sürümlerde tüm derlemelerde (ör. D8 8.1 sürümü) API modelleme aracılığıyla otomatik olarak gerçekleşmesidir. AGP kullanmayan müşterilerin D8 sürümüne 8.1 veya daha yeni bir sürüme geçmeleri önerilir. Daha fazla bilgi için bu makaleyi inceleyin. (Ia60e0, b/345472586)

Sürüm 2.10.0-alpha02

17 Nisan 2024

androidx.work:work-*:2.10.0-alpha02 yayınlanır. Sürüm 2.10.0-alpha02 bu kaydetmeleri içerir.

API Değişiklikleri

  • WorkManager'de yapılandırılabilir bir @RestrictTo Tracer aracılığıyla izleme aralıkları yayınlama özelliği eklendi. (I17d7f, b/260214125)
  • Configuration.workerCoroutineContext, CoroutineWorker'un yürütüldüğü dağıtıcının kontrolü için eklendi. WorkManager içinde Dispatchers.Default kullanımından tamamen kaçınılmasına yardımcı olur. (Icd1b7)
  • İşçiler için özel istisna işleyicileri ekleme (Ib1b74, b/261190695)
  • OneTimeWorkRequest.Builder ve PeriodicWorkRequest.Builder artık Class yerine KClass ile oluşturulabilir: val request = OneTimeWorkRequest.Builder(Worker::class).setConstraints(...).build() (Ib55f6)
  • WorkManager sınıf Kotlin'e taşındı. Artık LiveData, ListenableFuture veya Flow döndüren yöntemler doğru boşluk bilgisi sağlıyor. Söz konusu koddaki boşluk varsayımlarının yanlış olması, istemcilerin kaynak kodunda değişiklik yapılmasını gerektirebilir. (If6757)

Sürüm 2.10.0-alpha01

24 Ocak 2024

androidx.work:work-*:2.10.0-alpha01 yayınlanır. 2.10.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Geliştiriciler, Constraints.setRequiredNetworkRequest yöntemi aracılığıyla bir çalışan için NetworkRequest kısıtlaması belirtebilir. Bu sayede, bu çalışanın hangi ağda çalışacağı konusunda daha ayrıntılı kontrol sahibi olabilirsiniz.

API Değişiklikleri

  • Kısıtlama olarak NetworkRequest belirtme özelliği eklendi. (Id98a1, b/280634452)

Sürüm 2.9

Sürüm 2.9.1

7 Ağustos 2024

androidx.work:work-*:2.9.1 yayınlanır. 2.9.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • İşin ön plan türü iptal edilmiş Android 14 ön koşul izinleri varken WorkManager ürününün uzun çalışan bir çalışanı (ör. ön plan çalışanı) yeniden başlatmaya çalışması nedeniyle oluşan kilitlenme düzeltildi. (b/333957914)

Sürüm 2.9.0

29 Kasım 2023

androidx.work:work-*:2.9.0 yayınlanır. 2.9.0 sürümü bu taahhütleri içerir.

2.8.0'dan bu yana önemli değişiklikler

  • Flow'ler aracılığıyla gözlemlenebilirlik. İşçinin ilerleme durumu artık LiveData yerine WorkManager.getWorkInfosFlow ve benzer yöntemler aracılığıyla Flow üzerinden gözlemlenebilir.
  • Artık WorkManager, bir çalışanın daha önce neden durdurulduğuna dair bir ipucu sağlıyor. getStopReason() yöntemi aracılığıyla çalışandan veya getStopReason() yöntemi aracılığıyla WorkInfo'ten sorgulanabilir.
  • setNextScheduleTimeOverride aracılığıyla dönemsel çalışanların hassas planlaması. Bu, bir sonraki dönemsel çalışma programının dinamik olarak hesaplanmasına olanak tanır. Bu program, uyarlanabilir yenileme süreleri, özel yeniden deneme davranışı veya bir haber feed'i işleyicisinin her sabah kullanıcı uyanmadan önce çalıştırılmasını sağlamak gibi gelişmiş özellikleri uygulamak için kullanılabilir. Bir sonraki işleyiciyi planlarken şu anda çalışan bir işleyicinin iptal edilmemesi için ExistingPeriodicWorkPolicy.UPDATE bu tekniklerle birlikte kullanılmalıdır.
  • WorkManager'ın iş parçacığı eşleştirme üretim testi. ExecutorsMode.PRESERVE_EXECUTORS, Configuration içinde ayarlanan yürütücüleri korumak ve gerçek ana iş parçacığını kullanmak için initializeTestWorkManager içinde kullanılabilir.
  • CoroutineWorker gibi eş yordam API'leri, ek yapı çalışma zamanı-ktx'ten ana yapı iş çalışma zamanına taşındı. Work-runtime-ktx artık boş.

API Değişiklikleri

  • stopReason, WorkInfo grubuna eklendi. İşleyici çalıştırıldıktan sonra stopReason değerini kullanılabilir hale getirir. Bir işleyici durdurulduktan sonra uygulamanın kendisi çok hızlı bir şekilde sonlandırılabileceğinden, stopReason'ü kullanılabilir bir şekilde raporlamada faydalı olabilir. (I21386)
  • Clock değerinin yapılandırma üzerinden ayarlanmasına ve işleyici testlerinin yürütme sıralamasını yönlendirmek için kullanılmasına izin verin. (Ic586e)
  • ListenableWorker öğesine, çalışanın neden durdurulduğuna dair ipucu veren getStopReason() yöntemi eklendi. (I07060)
  • CloseGuard'ın kaynak sızıntısı hakkındaki uyarısını önlemek için WorkManagerTestInitHelper#closeWorkDatabase() eklendi. (Ia8d49)
  • WorkInfo sınıfının kurucusu artık herkese açıktır. Bu, test aşamasında yararlı olabilir. (Ia00b6, b/209145335)
  • work-runtime-ktx artık boş, CoroutineWorker ve Kotlin'e özgü diğer yardımcı programlar artık ana çalışma zamanındaki yapıda kullanılabilir. (I71a9a)
  • Düzenli çalışma programlarının doğru şekilde ayarlanmasını sağlayan setNextScheduleTimeOverride yöntemi eklendi (I3b4da)
  • getNextScheduleTimeMillis, planlanan çalışma zamanı bilgisini almak için WorkInfo görevine eklendi. (I797e4)
  • İlk gecikme ve periyodiklik bilgileri WorkInfo bölümüne eklenir. (I52f2f)
  • getWorkInfosByTagFlow, getWorkInfoByIdFlow, getWorkInfosForUniqueWorkFlow, getWorkInfosFlow (If122a) yöntemleri aracılığıyla Akışlar aracılığıyla çalışanları gözlemleme yöntemi eklendi
  • Constraints oluşturucularına ve özelliklerine eksik @RequiresApi(...) ek açıklamaları eklendi. Bu ek açıklamalar artık WorkManager'un önceki sürümlerinden beri Constraints.Builder'teki ayarlayıcılarda bulunan ilgili ek açıklamalarla uyumlu hale getirildi. (I6d7d2)
  • WorkManager artık içerik URI'si çalışanları için ayrı bir sınıra sahiptir. Bu sınır, yüksek yük altında içerik güncellemelerinin eksik olmasını önlemek amacıyla JobScheduler'te çalışanlara garantili yuvalar sağlar. Sınır, Configuration.Builder.setContentUriTriggerWorkersLimit üzerinden yapılandırılabilir. (Ic128f)
  • WorkInfo alanına kısıtlamalar eklenir. (I162c0)

Sürüm 2.9.0-rc01

18 Ekim 2023

androidx.work:work-*:2.9.0-rc01 yayınlanır. 2.9.0-rc01 sürümü bu taahhütleri içerir.

  • Son beta sürümden bu yana değişiklik yok

Sürüm 2.9.0-beta01

6 Eylül 2023

androidx.work:work-*:2.9.0-beta01 yayınlanır. 2.9.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

Sürüm 2.9.0-alpha02

26 Temmuz 2023

androidx.work:work-*:2.9.0-alpha02 yayınlanır. 2.9.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Artık WorkManager, bir çalışanın daha önce neden durdurulduğuna dair bir ipucu sağlıyor. getStopReason() yöntemi aracılığıyla çalışandan veya getStopReason() yöntemi aracılığıyla WorkInfo'ten sorgulanabilir.

API Değişiklikleri

  • stopReason, WorkInfo adlı çalışma alanına eklendi. Çalışanın çalışmasından stopReason sonra kullanılabilir hale gelir. Bir işleyici durdurulduktan sonra uygulamanın kendisi çok hızlı bir şekilde kapatılabileceğinden, stopReason'ü kullanılabilir bir şekilde raporlamak yararlı olabilir. (I21386)
  • Saat'in yapılandırma aracılığıyla ayarlanmasına ve Çalışan testlerinin yürütme sıralamasını yürütmek için kullanılmasına izin ver. (Ic586e)
  • ListenableWorker öğesine, çalışanın neden durdurulduğuna dair ipucu veren getStopReason() yöntemi eklendi. (I07060)
  • Closeguard'ın sızdırılan kaynaklarla ilgili uyarısını önlemek için WorkManagerTestInitHelper#closeWorkDatabase() eklendi. (Ia8d49)

Hata Düzeltmeleri

  • TestDriver kullanarak overrideNextScheduleTime'ü atlama özelliği eklendi ve test edilebilirlikle ilgili sorunlar düzeltildi. (Ic2905)

Sürüm 2.9.0-alpha01

7 Haziran 2023

androidx.work:work-*:2.9.0-alpha01 yayınlandı. 2.9.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Flow'ler aracılığıyla gözlemlenebilirlik. İşçinin ilerleme durumu artık LiveData yerine WorkManager.getWorkInfosFlow ve benzer yöntemler aracılığıyla Flow üzerinden gözlemlenebilir.
  • setNextScheduleTimeOverride aracılığıyla dönemsel çalışanların hassas planlaması. Bu, bir sonraki dönemsel çalışma programının dinamik olarak hesaplanmasına olanak tanır. Bu program, uyarlanabilir yenileme süreleri, özel yeniden deneme davranışı veya bir haber feed'i işleyicisinin her sabah kullanıcı uyanmadan önce çalıştırılmasını sağlamak gibi gelişmiş özellikleri uygulamak için kullanılabilir. Şu anda çalışan bir çalışanın bir sonrakini planlanırken iptal edilmesini önlemek için bu tekniklerle ExistingPeriodicWorkPolicy.UPDATE kullanılmalıdır.
  • WorkManager, üretimle eşleşen mesaj dizileriyle test yapıyor. ExecutorsMode.PRESERVE_EXECUTORS, Configuration içinde ayarlanan yürütücüleri korumak ve gerçek ana iş parçacığı kullanmak için kullanılabilir.
  • CoroutineWorker gibi coroutine API'leri, ek yapı work-runtime-ktx'ten ana yapı work-runtime'ye taşındı. work-runtime-ktx artık boş.

API Değişiklikleri

  • WorkInfo sınıfının kurucusu artık herkese açık. Bu, test için yararlı olabilir. (Ia00b6, b/209145335)
  • work-runtime-ktx artık boş. CoroutineWorker ve kotlin'e özgü diğer yardımcı programlar artık ana work-runtime yapısında kullanılabilir. (I71a9a)
  • Düzenli çalışma programlarının doğru şekilde ayarlanmasını sağlayan setNextScheduleTimeOverride yöntemi eklendi (I3b4da)
  • getEarliestRunTimeMillis, getNextScheduleTimeMillis olarak yeniden adlandırıldı. (I2bd7a)
  • Bir sonraki planlanan çalışma zamanı bilgisi WorkInfo bölümüne eklendi. (I797e4)
  • İlk gecikme ve periyodiklik bilgileri WorkInfo bölümüne eklenir. (I52f2f)
  • getWorkInfosByTagFlow, getWorkInfoByIdFlow, getWorkInfosForUniqueWorkFlow, getWorkInfosFlow yöntemleri aracılığıyla akışlar üzerinden çalışanları gözlemleme yöntemi eklendi (If122a)
  • Kısıtlamalar'ın kurucularına ve özelliklerine eksik @RequiresApi(...) ek açıklamaları eklendi. Bu ek açıklamalar artık WorkManager'un önceki sürümlerinden beri Constraints.Builder'teki ayarlayıcılarda bulunan ilgili ek açıklamalarla uyumlu hale getirildi. (I6d7d2)
  • Yüksek yük altında eksik içerik güncellemelerinin olmaması için WorkManager artık içerik URI'si çalışanlarına JobScheduler'te garantili slotlar sağlamak için ayrı bir sınıra sahip. Sınır, Configuration.Builder.setContentUriTriggerWorkersLimit üzerinden yapılandırılabilir. (Ic128f)
  • WorkInfo alanına kısıtlamalar eklenir. (I162c0)

Sürüm 2.8

Sürüm 2.8.1

22 Mart 2023

androidx.work:work-*:2.8.1 yayınlanır. 2.8.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Daha önce iki eşzamanlı yayını doğru şekilde işlemeyen RescheduleReceiver'teki ANR düzeltildi. (b/236906724)

Sürüm 2.8.0

8 Şubat 2023

androidx.work:work-*:2.8.0 yayınlanır. 2.8.0 sürümü bu taahhütleri içerir.

2.7.0'dan bu yana önemli değişiklikler

Yeni Özellikler

API Değişiklikleri

  • WorkManager.updateWork, orijinal iş sırasına ekleme zamanını ve zincirleme işlemini koruyarak çalışmayı güncellemek için eklendi.(I9a248, b/219446409)
  • ExistingPeriodicWorkPolicy.UPDATE eklendi. Bu politika, dönemlik bir çalışmanın adına göre güncellenmesine olanak tanır. Mevcut REPLACE işlevine benzer ancak daha az müdahalecidir: Çalışan şu anda çalışıyorsa iptal etmez ve iş sırasına ekleme süresini korur. İlk gecikme ve dönem, güncelleme zamanından değil, orijinal iş sırasına ekleme zamanından hesaplanır. REPLACE çok benzer olarak adlandırılan REPLACE ve UPDATE arasındaki karışıklığı azaltmak için kullanımdan kaldırıldı. REPLACE işlevinin önceki anlamını korumak istiyorsanız yeni eklenen CANCEL_AND_REENQUEUE, REPLACE ile bire bir aynı olacak. (I985ed, b/219446409)
  • setSchedulingExceptionHandler aracılığıyla Consumer<Throwable> sağlayan planlama istisnalarına müdahale etme özelliği eklendi)
  • WorkManager'ı başlatmaya çalışırken sorun olup olmadığını belirlemek için setInitializationExceptionHandler aracılığıyla Consumer<Throwable> sağlama özelliği eklendi.
  • OneTimeWorkRequest ve PeriodicWorkRequest için satır içi yardımcılar androidx.work:work-runtime-ktx'den androidx.work:work-runtime'a taşındı (I0010f, b/209145335)
  • WorkQuery öğesini doğrudan oluşturmak için WorkQuery.fromIds, WorkQuery.fromStates, WorkQuery.fromUniqueWorkNames, WorkQuery.fromTags yardımcı yöntemleri eklendi. (b/199919736) (If48f2, b/199919736)
  • Worker listesine getForegroundInfo eklendi. (Ic1ead)
  • Hem RxJava 2 hem de RxJava 3 için RxWorker artık ListenableFuture döndüren setForegroundInfoAsync yerine kullanılabilecek Completable döndüren setForeground işlevine sahiptir.
  • Hem RxJava 2 hem de RxJava 3 için RxWorker, ListenableFuture döndüren getForegroundInfoAsync yerine kullanılabilen Single döndüren getForegroundInfo işlevine sahiptir. (b/203851459)
  • Kotlin kullanıcıları için uygun olan Constraints.Builder yerine artık kısıtlamalar doğrudan oluşturulabilir. (Idc390, b/137568653)
  • WorkManager değerinin başlatılıp başlatılmadığını kontrol etme özelliği eklendi. Ayrıca, kitaplık geliştiricilerin WorkManager'ın başlatıldığı yapılandırmayı almaları için yeni bir getConfiguration() API eklendi. (I6eff3, b/212300336)

Hata Düzeltmeleri

  • Çalışanların yük altındayken hemen çalışmasını önleyen açgözlü planlayıcı ile ilgili bir sorun düzeltildi. (I9686b, b/248111307)
  • SDK 33 ve sonraki sürümlerde POST_NOTIFICATIONS izninin verilmesini gerektiren API'lere @RequiresPermission eklendi. (Ie542e, b/238790278)
  • suspendCancellableCoroutine kullanılırken CoroutineScope'teki iptalleri ListenableFuture'e iletme.

Sürüm 2.8.0-rc01

7 Aralık 2022

androidx.work:work-*:2.8.0-rc01 yayınlanır. 2.8.0-rc01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Bu sürümde yeni özellik bulunmuyor. Bu esasen bir sürüm yükseltmesidir

Sürüm 2.8.0-beta02

9 Kasım 2022

androidx.work:work-*:2.8.0-beta02 yayınlanır. 2.8.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Daha önce yeni nesil bilgileri dikkate almayan WorkInfo yöntemi WorkInfo'te düzeltildi.equals (4977cc)

Sürüm 2.8.0-beta01

5 Ekim 2022

androidx.work:work-*:2.8.0-beta01 yayınlanır. 2.8.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Çalışanların yük altındayken hemen çalışmasını önleyen açgözlü planlayıcı ile ilgili bir sorun düzeltildi. (I9686b, b/248111307)

Sürüm 2.8.0-alpha04

7 Eylül 2022

androidx.work:work-*:2.8.0-alpha04 yayınlanır. 2.8.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Çalışanın neslini döndüren WorkerInfo.getGeneration() ve WorkerParameters.getGeneration() işlevleri eklendi. ExistingPeriodicWorkPolicy.UPDATE kullanılarak WorkManager.updateWork veya WorkManager.enqueueUniquePeriodicWork aracılığıyla güncellenen bir çalışanın birden fazla nesli vardır. İşçi şu anda çalışıyorsa bu yöntemin, işçinin yürütülmesi sırasında bir güncelleme yapılmışsa şu anda çalışan işçiden daha yeni bir nesil döndürebileceğini unutmayın. (I665c5, b/219446409) (I128a9, b/219446409)
  • WorkManager uygulamasını başlatmaya çalışırken sorun olup olmadığını belirlemek için kullanılabilecek bir İstisna İşleyici olan InitializationExceptionHandler eklendi. (I061de)

Sürüm 2.8.0-alpha03

10 Ağustos 2022

androidx.work:work-*:2.8.0-alpha03 yayınlanır. 2.8.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Orijinal sıraya ekleme süresini, zincirleme vb. koruyarak WorkRequests öğesini müdahaleci olmayan bir şekilde güncelleme özelliği eklendi. Daha fazla bilgi için WorkManager.updateWork ve ExistingPeriodicWorkPolicy.UPDATE başlıklı makaleleri inceleyin.

API Değişiklikleri

  • WorkManager.updateWork, orijinal iş sırasına ekleme zamanını ve zincirleme işlemini koruyarak çalışmayı güncellemek için eklendi.(I9a248, b/219446409)
  • ExistingPeriodicWorkPolicy.UPDATE eklendi. Bu politika, dönemlik bir çalışmayı ada göre güncellemenize olanak tanır. Mevcut REPLACE işlevine benzer ancak daha az müdahalecidir: Çalışan şu anda çalışıyorsa iptal etmez ve iş sırasına ekleme süresini korur. İlk gecikme ve dönem, güncelleme zamanından değil, orijinal iş sırasına ekleme zamanından hesaplanır. REPLACE ve UPDATE adları çok benzer olduğundan, bu iki ad arasında karışıklık olmaması için REPLACE desteği sonlandırıldı. REPLACE için önceki semantikleri korumak istiyorsanız REPLACE ile aynı olan yeni eklenen CANCEL_AND_REENQUEUE kullanılabilir. (I985ed, b/219446409)
  • SchedulingExceptionHandler tanımlayarak planlama istisnalarını durdurma özelliğini ekleyin. (I033eb)
  • OneTimeWorkRequest ve PeriodicWorkRequest için satır içi yardımcılar androidx.work:work-runtime-ktx konumundan androidx.work:work-runtime konumuna taşındı (I0010f, b/209145335)

Hata Düzeltmeleri

  • SDK 33 ve sonraki sürümlerde POST_NOTIFICATIONS izninin verilmesini gerektiren API'lere @RequiresPermission eklendi. (Ie542e, b/238790278)

Sürüm 2.8.0-alpha02

6 Nisan 2022

androidx.work:work-*:2.8.0-alpha02 yayınlanır. 2.8.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Sınırlamalar artık Builder yerine doğrudan oluşturulabilir. Bu, Kotlin kullanıcıları için kullanışlıdır. (Idc390, b/137568653)
  • WorkManager değerinin başlatılıp başlatılmadığını kontrol etme özelliği eklendi. Ayrıca, kitaplık geliştiricilerin WorkManager'ın başlatıldığı yapılandırmayı almaları için yeni bir getConfiguration() API eklendi. (I6eff3, b/212300336)

Sürüm 2.8.0-alpha01

12 Ocak 2022

androidx.work:work-*:2.8.0-alpha01 yayınlanır. 2.8.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • WorkQuery'yi doğrudan oluşturmak için WorkQuery.fromStates, WorkQuery.fromUniqueWorkNames, WorkQuery.fromTags yardımcı yöntemleri eklendi. (If48f2, b/199919736)
  • Gelecekteki SDK'lar için deneysel BuildCompat yöntemleri ekler (Iafd82, b/207528937)
  • getForegroundInfo öğesini Worker'a ekleyin. (Ic1ead)
  • Doğrudan kimliklerden WorkQuery oluşturmak için WorkQuery.fromIds yardımcı yöntemler eklendi. (Ie5bdf, b/199919736)
  • RxWorker artık ListenableFuture döndüren setForegroundInfoAsync yerine kullanılabilen setForeground Completable döndürüyor. (I85156)
  • RxJava 2 için RxWorker artık ListenableFuture döndüren getForegroundInfoAsync yerine kullanılabilecek getForegroundInfo döndüren Single değerine sahiptir. (I21c91, b/203851459)
  • RxJava 3 için RxWorker'da, artık ListenableFuture döndüren getForegroundInfoAsync yerine kullanılabilecek getForegroundInfo Single değeri döndürülüyor. (I1ca8a)
  • RxWorker artık ListenableFuture döndüren setForegroundInfoAsync yerine kullanılabilecek Completable döndüren setForeground işlevine sahiptir. (I992a3, b/203851459)

Hata Düzeltmeleri

  • suspendCancellableCoroutine kullanılırken CoroutineScope'teki iptalleri ListenableFuture'e iletme. (I77e63)

Sürüm 2.7

Sürüm 2.7.1

17 Kasım 2021

androidx.work:work-*:2.7.1 yayınlanır. 2.7.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • suspendCancellableCoroutine kullanılırken CoroutineScope'teki iptal işlemleri ListenableFuture'e iletilir. (I77e63)
  • Geciken çalışma istekleri acil olarak işaretlendiğinde hemen bir istisna atılır. bef1762

2.7.0 sürümü

13 Ekim 2021

androidx.work:work-*:2.7.0 yayınlanır. 2.7.0 sürümü bu taahhütleri içerir.

2.6.0 sürümünden beri yapılan önemli değişiklikler

  • WorkManager, Android 12'deki ön plan hizmet kısıtlamalarına yardımcı olmak için yeni bir WorkRequest.Builder.setExpedited(...) API'yi kullanıma sundu.

  • setExpedited(...) kullanıldığında WorkManager, Android 12'den itibaren JobScheduler'daki hızlandırılmış işlere yetki verirken bir ön plan hizmetine yetki vererek Android'in önceki sürümlerinde geriye dönük uyumluluk sağlar.

Sürüm 2.7.0-rc01

29 Eylül 2021

androidx.work:work-*:2.7.0-rc01 yayınlanır. 2.7.0-rc01 sürümü bu kaydetmeleri içerir.

Bu sürüm androidx.work:work-*:2.7.0-beta01 ile aynıdır.

Sürüm 2.7.0-beta01

1 Eylül 2021

androidx.work:work-*:2.7.0-beta01 yayınlandı. 2.7.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • WorkManager'ı başlatırken çok işlemli SQLite anlaşmazlığını azaltın.

API Değişiklikleri

  • Android 12 (S) için temel platform API'leri kararlı olduğundan @ExperimentalExpeditedWork API'lerini kaldırın. (aosp/1792806)

Hata Düzeltmeleri

  • getForegroundInfoAsync()'ü uygulamayan hızlandırılmış çalışanlar için daha iyi bir hata mesajı sağlandı. (aosp/1809376)

Sürüm 2.7.0-alpha05

21 Temmuz 2021

androidx.work:work-*:2.7.0-alpha05 yayınlanır. 2.7.0-alpha05 sürümü bu taahhütleri içerir.

Bu sürüm, WorkManager 2.6.0-beta02 sürümünün hata düzeltmelerini de içerir.

Sürüm 2.7.0-alpha04

2 Haziran 2021

androidx.work:work-*:2.7.0-alpha04 yayınlandı.

Bu sürüm, 2.6.0-beta01 sürümündeki değişiklikleri de içerir.

API Değişiklikleri

Hata Düzeltmeleri

  • Hızlandırılmış işler yeniden planlandığında artık hızlandırılmazlar. Bunlar normal işler haline gelir.

Sürüm 2.7.0-alpha03

21 Nisan 2021

androidx.work:work-*:2.7.0-alpha03 yayınlandı. 2.7.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

API Değişiklikleri

Sürüm 2.7.0-alpha02

10 Mart 2021

androidx.work:work-*:2.7.0-alpha02 yayınlandı. 2.7.0-alpha02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Android 12'yi hedeflerken kilitlenme sorununu düzeltmek için PendingIntent değişkenliğini açıkça belirtin. (b/180884673)

Sürüm 2.7.0-alpha01

18 Şubat 2021

androidx.work:work-*:2.7.0-alpha01 yayınlanır. 2.7.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • WorkManager, Android 12'deki ön plan hizmeti kısıtlamalarını dikkate alan yeni birWorkRequest.Builder.setExpedited(...) API kullanıma sundu.

    Uygulamalar artık arka plandayken ön plan hizmeti başlatamaz. Bu nedenle, daha önce bir ön plan hizmetinin yaşam döngüsüne bağlı olan uzun süreli çalışmaları daha iyi desteklemek için uygulamalar WorkRequest'leri hızlandırılmış olarak işaretleyebilir.

    Bu API, artık desteği sonlandırılmış setForegroundAsync(...) / setForeground(...) API'lerinin yerini almıştır.

    WorkManager, setExpedited(...) kullanılırken Android 12'den itibaren JobScheduler'teki hızlandırılmış işlere yetki verir. Ayrıca, ön plan hizmetlerine yetki vererek Android'in önceki sürümlerinde geriye dönük uyumluluk sağlar.

API Değişiklikleri

  • Hızlandırılmış WorkRequest'ler için destek ekleyin.

Sürüm 2.6.0

Sürüm 2.6.0

1 Eylül 2021

androidx.work:work-*:2.6.0 yayınlanır. 2.6.0 sürümü bu taahhütleri içerir.

2.5.0 sürümünden beri yapılan önemli değişiklikler

  • WorkManager artık WorkManager'ı başlatmak için androidx.startup kullanır. Geçmişte WorkManager'ı başlatmak için tools:node="remove" ContentProvider kullandıysanız aşağıdaki işlemleri gerçekleştirmeniz gerekir.

    <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities=\"${applicationId}.androidx-startup"
        android:exported="false"
        tools:node=\"merge">
        <!-- If you are using androidx.startup to initialize other components -->
        <meta-data
            android:name="androidx.work.WorkManagerInitializer"
            android:value="androidx.startup"
            tools:node="remove" />
     </provider>
    
    <!-- If you want to disable android.startup completely. -->
     <provider
                android:name="androidx.startup.InitializationProvider"
                android:authorities="${applicationId}.androidx-startup"
                tools:node="remove" />
    
  • Herhangi bir işlemde çalışabilen işçiler için destek eklendi. (Iaf200)

  • Uzak bir işleme bağlanabilen RemoteListenableWorker uygulaması olan bir RemoteCoroutineWorker eklendi. (I30578)

Sürüm 2.6.0-rc01

4 Ağustos 2021

androidx.work:work-*:2.6.0-rc01 yayınlanır. 2.6.0-rc01 sürümü bu taahhütleri içerir.

Bu sürüm, androidx.work:work-*:2.6.0-beta02 sürümüyle aynı.

Sürüm 2.6.0-beta02

21 Temmuz 2021

androidx.work:work-*:2.6.0-beta02 yayınlanır. Sürüm 2.6.0-beta02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • RemoteWorkManager artık RemoteWorkManagerService ile bağlantısını doğru şekilde kesiyor. Bu sayede RemoteWorkManagerService doğru şekilde temizlenebiliyor. aosp/1730694
  • RemoteListenableWorker artık RemoteWorkerService ile bağlantısını doğru şekilde kaldırıyor. Bu sayede RemoteWorkerService doğru şekilde temizlenebiliyor. aosp/1743817
  • ForceStopRunnable artık yalnızca birincil uygulama işleminde çalışıyor. Bu bir optimizasyondur ve birden fazla işlem kullanan uygulamalar için kaynak çakışmasını önler. aosp/1749180, aosp/1761729

Sürüm 2.6.0-beta01

2 Haziran 2021

androidx.work:work-*:2.6.0-beta01 yayınlandı. Sürüm 2.6.0-beta01 bu kaydetmeleri içerir.

Bu sürümde dokümanlar üzerinde bazı küçük iyileştirmeler yapılmıştır. Sürüm büyük ölçüde 2.6.0-alpha02 ile aynıdır.

Sürüm 2.6.0-alpha02

21 Nisan 2021

androidx.work:work-*:2.6.0-alpha02 yayınlanır. 2.6.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Herhangi bir işlemde çalışabilen çalışanlar için destek ekler. (Iaf200)

  • Uzak bir işleme bağlanabilen RemoteListenableWorker uygulaması olan bir RemoteCoroutineWorker eklendi. (I30578)

API Değişiklikleri

  • TEMPORARILY_UNMETERED ağ kısıtlaması için destek eklendi. (I08d5e)
  • setProgressAsync() için çok işlemli çalışan desteği. (Ib6d08)
  • Diğer androidx.startup.Initializer öğelerinin bunları bağımlılık olarak kullanabilmesi için WorkManagerInitializer öğesini herkese açık hale getirin. (I5ab11)

Sürüm 2.6.0-alpha01

24 Mart 2021

androidx.work:work-*:2.6.0-alpha01 yayınlanır. 2.6.0-alpha01 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • WorkManager, WorkManager'ı başlatmak için artık androidx.startup kullanıyor. Bu işlem daha önce androidx.work.impl.WorkManagerInitializer tarafından yapılıyordu. (aosp/1608813)

    Geçmişte işlem yaşam döngüsünü başlatmak için kullanılan ContentProvider yerine tools:node="remove" kullandıysanız bunun yerine aşağıdakileri yapmanız gerekir.

     <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities=\"${applicationId}.androidx-startup"
        android:exported="false"
        tools:node=\"merge">
        <!-- If you are using androidx.startup to initialize other components -->
        <meta-data
            android:name="androidx.work.impl.WorkManagerInitializer"
            android:value="androidx.startup"
            tools:node="remove" />
     </provider>
    

    (veya)

     <!-- If you want to disable android.startup completely. -->
     <provider
        android:name="androidx.startup.InitializationProvider"
        android:authorities="${applicationId}.androidx-startup"
        tools:node="remove">
     </provider>
    

API Değişiklikleri

  • ListenableWorker'ın outputData değerini döndüren bir Result.getOutputData() API ekleyin. (Ie51e3)

Hata Düzeltmeleri

  • AlarmManager API'leri kullanılırken SecurityException hatasının oluşmasına neden olan bir OEM hatası için geçici çözüm ekleyin. (aosp/1587518)

2.5.0 sürümü

2.5.0 sürümü

27 Ocak 2021

androidx.work:work-*:2.5.0 yayınlanır. 2.5.0 sürümü bu taahhütleri içerir.

2.4.0 sürümünden beri yapılan önemli değişiklikler

  • Birden fazla işlem kullanan uygulamalar için yeni bir :work:work-multiprocess yapısı. Bu sayede, iş isteği planlaması tek bir işlemde birleştirilerek performans kazanımları elde edilir.
    • work-multiprocess'ü kullanmak için aşağıdakilerde bağımlılık tanımlayın: implementation "androidx.work:work-multiprocess:2.5.0"
    • Configuration.Builder.setDefaultProcessName(String) kullanarak birincil bir işlem atayın.
    • work-multiprocess hizmetini kullanırken, WorkRequest öğelerinizi yönetmek için RemoteWorkManager'ı da kullanmak istersiniz. RemoteWorkManager her zaman belirtilen işleme ulaşır. İşlem içi zamanlayıcı da belirtilen işlemde çalışır.
  • Bazen ActivityManager, bir iş başlatmak için JobService örneğini oluşturamaz. Bu durum, platformdaki bir hata nedeniyle temel işin sessizce bırakılmasına neden olur. WorkManager artık bir Application başlatılırken işleri uzlaştırma yoluyla her WorkRequest için yedek işlerin bulunduğundan emin oluyor. Bu, iş yürütme güvenilirliğini büyük ölçüde artırır. (b/172475041, aosp/1489577)
  • WorkManager, bir WorkRequest tamamlandıktan sonra WorkRequest'ların izlendiği arabellek süresini kısaltarak veritabanı büyümesini sınırlar. Süre 7 gün önceydi. 1 güne ve keepResultsForAtLeast süresine düşürüldü. (aosp/1419708)
  • TestListenableWorkerBuilder, testleri kolaylaştırmak için artık ListenableWorker'u genişleten somut sınıfı destekliyor. (aosp/1443299, b/169787349)
  • WorkManager İnceleyici, Android Studio Arctic Fox kullanılırken artık kullanılabilir.

Sürüm 2.5.0-rc01

13 Ocak 2021

androidx.work:work-*:2.5.0-rc01 yayınlanır. 2.5.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • WorkQuery tabanlı API kullanılırken varlıklar güncellendikten sonra getWorkInfosLiveData öğesinin doğru şekilde geçersiz kılınmamasına neden olan hata düzeltildi. (aosp/1540566, b/173769028)
  • Veritabanı işlemlerinin bazı nadir durumlarda başarılı olarak işaretlenmemesine neden olan hata düzeltildi. Bu durum bazı Motorola cihazlarda sorunlara neden olur. (aosp/1535368, b/175944460)
  • Etkin olmayan bir işlemden bağ kaldırmaya çalışırken NoSuchElementException'lerin yoksayılmasına neden olan bir hata düzeltildi. (aosp/1530589)
  • Yalnızca durdurulmamışsa ListenableWorker işlevini durdurmak için ConstraintTrackingWorker uygulamasını iyileştirin. (aosp/1496844, b/172946965)
  • androidx.work kitaplıklarını, Java 8'i (Ibd2f2) hedefleyecek şekilde güncelleyin

Sürüm 2.5.0-beta02

2 Aralık 2020

androidx.work:work-*:2.5.0-beta02 yayınlanır. Sürüm 2.5.0-beta02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • androidx.work:work-multiprocess'te, WorkManager'ın belirtilen işleme bağlanmaya çalışırken çağıran iş parçacığının yanlışlıkla engellendiği bir hata düzeltildi. (aosp/1475538)
  • PeriodicWorkRequest'ların doğru şekilde uyumlulaştırılamamasına neden olan hata düzeltildi. (b/172475041, aosp/1489577)
  • setForeground* API'leri kullanılırken ön plan hizmeti durdurulduğunda ortaya çıkan bir platform hatası için geçici çözüm eklendi. (b/170924044, aosp/1489901)

Sürüm 2.5.0-beta01

28 Ekim 2020

androidx.work:work-*:2.5.0-beta01 yayınlanır. Sürüm 2.5.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

  • WorkManager, işlem içi planlayıcı tarafından alınabilecek WorkRequest sayısını otomatik olarak sınırlandırır. İstekler yine FIFO sırasına göre yürütülür. (aosp/1455228)
  • WorkManager, uygulamanın veri deposu kötü durumdayken kurtarma işlemine çalışır. (aosp/1463103)

Hata Düzeltmeleri

  • ListenableWorker'ler kesintiye uğradığında, daha sonra yeniden planlanabilmeleri için hemen ENQUEUED olarak işaretleyin. (aosp/1455618, b/170273988)

Sürüm 2.5.0-alpha03

14 Ekim 2020

androidx.work:work-*:2.5.0-alpha03 yayınlanır. 2.5.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • TestListenableWorkerBuilder ve TestWorkerBuilder ham türler kullanmaz. (I883ad, b/169787349)

Hata Düzeltmeleri

  • Varsayılan uygulama işleminin adını belirlemek için ApplicationInfo kullanın. (b/168716641, aosp/1429950)
  • RemoteWorkManager ve RemoteWorkContinuation için görünürlük kurallarını düzeltin. Bu API'ler artık @Restricted olarak işaretlenmemektedir. (aosp/1432091)
  • :work:work-multiprocess için ProGuard kurallarını düzeltin. (aosp/1432091)
  • Ön plan hizmetine bağlı uzun süreli çalışmalar için bildirim yaşam döngülerini iyileştirin. (b/168502234, aosp/1431331)

Sürüm 2.5.0-alpha02

16 Eylül 2020

androidx.work:work-*:2.5.0-alpha02 yayınlanır. 2.5.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • WorkInfo'leri sorgulamak için id'leri kullanabilmek üzere WorkQuery'ye bir API ekleyin. (aosp/1412372, b/157335295)
  • WorkManager, yeni bir yapıyla (androidx.work:work-multiprocess:*) birden fazla işlem kullanan uygulamaları daha iyi destekler. Bu yeni yapı, büyük uygulamaların karşılaştığı bazı sorunların çözülmesini sağlar:
    • Genellikle her uygulama işleminde WorkManager'ın başlatılması gerekir. Bu çok iyi bir durum değildir çünkü SQLite çekişmesi başka sorunlara yol açar. WorkManager'da artık Configuration#setDefaultProcessName(processName) ile birincil uygulama işlemi atamak için kullanılabilecek yeni API'ler bulunuyor. processName, packageName:processName gibi görünen tam nitelikli bir işlem adıdır (ör. com.example:remote).
    • Bir dizi yeni API: RemoteWorkManager ve RemoteWorkContinuation ile enqueue, cancel ve query iş istekleri. Bu API'ler, birden fazla işlemde SQLite anlaşmazlığını önlemek için LiveData varyantlarını içermez. enqueue, cancel ve query'ye yapılan tüm çağrılar, AIDL kullanılarak bir primary uygulama sürecine yönlendirilir ve akıcı bir ListenableFuture döndürülür. (aosp/1392657, aosp/1411210, aosp/1412215, aosp/1417713)

API Değişiklikleri

  • WorkManager artık tamamlanmamış bağımlılıkları olmayan tamamlanmış WorkRequest'leri daha agresif bir şekilde buduyor. Arabellek süresi 7 günden 1 güne değiştirildi. (aosp/1419708)

Hata Düzeltmeleri

  • WorkManager, artık işlerin proaktif bir şekilde mutabık kalmasını sağlar. Böylece, WorkManager başlatıldığında WorkRequest ve JobScheduler işleri senkronize edilir. (aosp/1412794, b/166292069)

Sürüm 2.5.0-alpha01

19 Ağustos 2020

androidx.work:work-*:2.5.0-alpha01 yayınlanır. 2.5.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Gelecekte WorkManager ile daha iyi araçlar sunmamıza olanak tanıyan dahili API'lerde yapılan değişiklikler. Diğer güncellemeler için bizi takip etmeye devam edin.

Hata Düzeltmeleri

  • Bazı cihazlarda ağ durumunu izlerken SecurityException değerlerini işleme (aosp/1396969)

Harici Katkı

Sürüm 2.4.0

Sürüm 2.4.0

22 Temmuz 2020

androidx.work:work-*:2.4.0 yayınlanır. 2.4.0 sürümü bu kaydetmeleri içerir.

2.3.0 sürümünden beri yapılan önemli değişiklikler

  • WorkManager'ın işlem içi zamanlayıcısı artık daha güçlü. Daha önce, işlemdeki Scheduler yalnızca gecikmemiş ve kısıtlamaları karşılanmış işlerin yürütülmesini dikkate alıyordu. Artık işlem içi planlayıcı, PeriodicWorkRequests dahil olmak üzere gelecekte yürütülebilecek WorkRequest'leri izler. İşlemdeki Scheduler, planlama sınırlarını da dikkate almaz (ancak yine de WorkManager tarafından kullanılan Executor boyutuyla sınırlıdır). Bu, uygulamanın artık ön plandayken çok daha fazla WorkRequest yürütebileceği anlamına gelir. WorkManager, gecikmeli işlerin ön planda yürütülmesini yönetmek için yeni bir yapılandırılabilir RunnableScheduler özelliği de sunar. (aosp/1185778)
  • WorkManager artık RxJava 3'ü destekliyor. RxJava 3'ü kullanmak için aşağıdaki bağımlılığı eklemeniz gerekir: implementation "androidx.work:work-rxjava3:2.4.0". (aosp/1277904)
  • WorkQuery kullanarak WorkInfo sorguları yapma özelliği eklendi. Bu, geliştiricilerin WorkInfo öğelerini birden fazla özelliğin kombinasyonuna göre sorgulamak istediğinde kullanışlıdır. Daha fazla bilgi için WorkQuery.Builder.fromStates(...), WorkQuery.Builder. fromTags(...) veya WorkQuery.Builder.fromUniqueWorkNames(...) sayfalarına göz atın. (aosp/1253230, b/143847546)
  • Aşağıdakileri kullanarak WorkManager'ten teşhis bilgileri isteme özelliğini ekleyin:

    adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
    

    Bu sayede aşağıdakiler gibi birçok yararlı bilgiye ulaşabilirsiniz:

    • Son 24 saat içinde tamamlanan WorkRequest'ler.
    • Şu anda ÇALIŞAN WorkRequest'ler.
    • Planlanmış WorkRequest'ler. (aosp/1235501)
  • APPEND'a benzer ancak ön koşulların iptal edildiği veya başarısız olduğu bir zincirin yerini alan ExistingWorkPolicy.APPEND_OR_REPLACE öğesini ekleyin. (b/134613984, aosp/1199640)

  • Gelecekte yürütülmesi gereken WorkRequest'leri izlemek için özel bir RunnableScheduler ekleme olanağı sunun. Bu, işlem içi planlayıcı tarafından kullanılır. (aosp/1203944)

  • DelegatingWorkerFactory kullanırken yetki verilecek fabrikaları dinamik olarak ekleme desteği eklendi. (b/156289105, aosp/1309745)

  • BATTERY_NOT_LOW kısıtlamalarının izlenmesini platformla daha uyumlu hale getirin. (aosp/1312583)

  • İşlem içi planlayıcı, işlemin adını belirlemek için artık daha iyi API'ler kullanmaktadır. Bu özellik, birden fazla işlem kullanan uygulamaların daha iyi desteklenmesi için faydalıdır. (aosp/1324732)

  • Aşağıdakileri zorunlu tutan yeni lint kuralları:

    • setForegroundAsync() API'leri kullanılırken doğru foregroundServiceType kullanılması. (b/147873061, aosp/1215915)
    • WorkManager'ın JobService API'lerini doğrudan kullanırken kullanması gereken JobScheduler kimliklerini belirtme. aosp/1223567
    • Varsayılan WorkerFactory kullanılırken ListenableWorkeruygulamaların artık public olmasını sağlayan yeni bir lint kuralı eklendi. (aosp/1291262)
  • ListenableWorker tamamlanmadan tamamlanmayan setForegroundAsync() çağrıları artık döndürülen ListenableFuture üzerinde bir IllegalStateException aracılığıyla sinyallenecek. (aosp/1262743)

  • Ön plandaki Worker kesintiye uğradıktan sonra ForegroundService'ün durdurulmamasına neden olan hata düzeltildi. (b/155579898, aosp/1302153)

  • WorkManager ürününün bir Ön Plan Hizmeti'ne bağlı Worker öğesinin birden fazla örneğini yürütmeye çalıştığı hata düzeltildi (b/156310133, aosp/1309853)

Sürüm 2.4.0-rc01

24 Haziran 2020

androidx.work:work-*:2.4.0-rc01 yayınlanır. 2.4.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • İşlem içi planlayıcı artık işlemin adını belirlemek için daha iyi API'ler kullanıyor. Bu, birden fazla işlem kullanan uygulamaları daha iyi desteklemek için yararlıdır. (aosp/1324732)

Sürüm 2.4.0-beta01

20 Mayıs 2020

androidx.work:work-gcm:2.4.0-beta01, androidx.work:work-runtime:2.4.0-beta01, androidx.work:work-runtime-ktx:2.4.0-beta01, androidx.work:work-rxjava2:2.4.0-beta01 ve androidx.work:work-testing:2.4.0-beta01 serbest bırakıldı. 2.4.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Worker ön planı kesintiye uğratıldıktan sonra ForegroundService öğesinin durdurulmamasına neden olan hata düzeltildi. (b/155579898, aosp/1302153)
  • WorkManager'ün, ön plan hizmetine bağlı bir Worker örneğini birden fazla kez çalıştırmaya çalıştığı hatayı düzeltme (b/156310133, aosp/1309853)
  • DelegatingWorkerFactory kullanırken yetki verilecek fabrikaları dinamik olarak ekleme desteği eklendi. (b/156289105, aosp/1309745)
  • BATTERY_NOT_LOW kısıtlamaları için izlemeyi platformla daha uyumlu hale getirin. (aosp/1312583)

Sürüm 2.4.0-alpha03

29 Nisan 2020

androidx.work:work-*:2.4.0-alpha03 yayınlanır. 2.4.0-alpha03 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • WorkManager artık RxJava 3'ü destekliyor. RxJava 3'ü kullanmak için aşağıdaki bağımlılığı eklemeniz gerekir: implementation "androidx.work:work-rxjava3:2.4.0-alpha03". (aosp/1277904)
  • Varsayılan WorkerFactory kullanılırken ListenableWorkeruygulamaların artık public olmasını sağlayan yeni bir lint kuralı eklendi. (aosp/1291262)

API Değişiklikleri

  • Bir ListenableWorker'un yürütülmesi tamamlandıktan sonra setProgressAsync() çağrıldığında artık ListenableFuture aracılığıyla bir Exception sinyali gönderilir. (aosp/1285494)
  • WorkQuery.Builder artık final olarak işaretlendi. (aosp/1275037)
  • WorkQuery.Builder fabrika yöntemleri withStates, withTags ve withUniqueWorkNames sırasıyla fromStates, fromTags ve fromUniqueWorkNames olarak yeniden adlandırıldı. (aosp/1280287)

Hata Düzeltmeleri

Sürüm 2.4.0-alpha02

1 Nisan 2020

androidx.work:work-*:2.4.0-alpha02 yayınlanır. 2.4.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • WorkRequest'ler hem Constraints.setRequiresCharging(...) hem de Constraints.setRequiresDeviceIdle(...) gerektirdiğinde uyarı veren yeni bir Lint kuralı eklendi. Bazı cihazlar hiçbir zaman aynı anda şarj olmuyor ve boşta kalmıyor. Bu nedenle, bu tür istekler beklenenden daha az sıklıkta yayınlanır. (aosp/1253840)

API Değişiklikleri

  • WorkQuery kullanarak WorkInfo sorguları yapma özelliği eklendi. Bu, geliştiricilerin WorkInfo öğelerini birden fazla özelliğin kombinasyonuna göre sorgulamak istediğinde kullanışlıdır. Daha fazla bilgi için WorkQuery.Builder withStates(...), WorkQuery.Builder withTags(...) veya WorkQuery.Builder withUniqueWorkNames(...) sayfasına bakın. (aosp/1253230, b/143847546)

  • ListenableWorker tamamlanmadan setForegroundAsync() numaralı telefona yapılan aramaların sinyali, artık döndürülen ListenableFuture üzerinde IllegalStateException ile gösterilecek. (aosp/1262743)

Hata Düzeltmeleri

  • PeriodicWorkRequest için geçersiz aralık sürelerini kontrol eden lint kuralı düzeltildi. (aosp/1254846, b/152606442)

Sürüm 2.4.0-alpha01

4 Mart 2020

androidx.work:work-*:2.4.0-alpha01 yayınlanır. Sürüm 2.4.0-alpha01 bu kaydetmeleri içerir.

Yeni Özellikler

  • WorkManager'ın işlem içi zamanlayıcısı artık daha güçlü. Daha önce, işlem içi planlayıcı yalnızca gecikmeyen ve kısıtlamaları karşılanan işleri yürütmeyi dikkate alıyordu. Artık işlem içi planlayıcı, PeriodicWorkRequest'lar da dahil olmak üzere gelecekte yürütülebilecek WorkRequest'leri izler. İşlemdeki Scheduler, planlama sınırlarını da Gözlemlemez (ancak WorkManager tarafından kullanılan Executor boyutuyla kısıtlıdır). Bu da uygulama ön plandayken artık çok daha fazla WorkRequest çalıştırılabileceği anlamına geliyor. (aosp/1185778)

  • adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>" kullanarak WorkManager'dan teşhis bilgileri isteme özelliği eklendi. Bu bilgiler aşağıdakiler dahil birçok yararlı bilgi sağlar:

    • Son 24 saat içinde tamamlanan WorkRequest'ler.
    • Şu anda ÇALIŞAN WorkRequest'ler.
    • Planlanmış Çalışma İstekleri. (aosp/1235501)
  • Aşağıdakileri zorunlu tutan yeni lint kuralları:

    • setForegroundAsync() API'leri kullanılırken doğru foregroundServiceType kullanılması. (b/147873061, aosp/1215915)
    • JobService API'lerini doğrudan kullanırken WorkManager tarafından kullanılması gereken JobScheduler kimlikleri belirtiliyor. (aosp/1223567)

API Değişiklikleri

  • APPEND'a benzer ancak ön koşulların iptal edildiği veya başarısız olduğu bir zinciri yerine alan ExistingWorkPolicy.APPEND_OR_REPLACE öğesini ekleyin. (b/134613984, aosp/1199640)

  • Gelecekte yürütülmesi gereken WorkRequest'leri izlemek için özel bir RunnableScheduler ekleme olanağı sağlayın. Bu, işlem içi planlayıcı tarafından kullanılır. (aosp/1203944)

Hata Düzeltmeleri

  • Daha önce imkansız bir tür olan Single<Void> döndürdüğü için setProgress() RxWorker içinde kullanımdan kaldırıldı. Bunun yerine Completable döndüren yeni bir API setCompletableProgress() ve yeni API'lere geçişe yardımcı olan yeni Lint kuralları eklendi. (b/150080946, aosp/1242665)

2.3.4 sürümü

2.3.4 sürümü

18 Mart 2020

androidx.work:work-*:2.3.4 yayınlandı. 2.3.4 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • 10 dakikalık yürütme süresi aşıldıktan sonra, uzun çalışan Worker örneklerinin birden fazla örneğin çalıştırılmasına neden olan hata düzeltildi. (aosp/1247484, b/150553353)
  • WorkManager'ın lint (IssueRegistry) sorunu düzeltildi. Katkıda bulunduğunuz için Slack'tan @ZacSweers'e teşekkür ederiz. (aosp/1217923)

Sürüm 2.3.3

Sürüm 2.3.3

4 Mart 2020

androidx.work:work-*:2.3.3 yayınlandı. 2.3.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Worker'nin kesintiye uğraması durumunda yeniden planlamanın doğru şekilde yapılmamasına neden olan hata düzeltildi. (b/150325687, aosp/1246571)

Sürüm 2.3.2

Sürüm 2.3.2

19 Şubat 2020

androidx.work:work-*:2.3.2 serbest bırakıldı. 2.3.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • WorkManager'ın, nadir durumlarda JobScheduler'daki 100 iş sınırını aşmasına neden olan sorun düzeltildi. (aosp/1226859, b/149092520)
  • ConstraintControllers'daki yarış koşulu düzeltildi. (aosp/1220100)
  • Uzun süre çalışan işçiler için yönetim ön plan hizmet yaşam döngüsü iyileştirildi. (aosp/1226295)
  • Çalışan iptal edildikten sonra uzun süre çalışan çalışanlar için bildirimlerin iptal yönetimi iyileştirildi. (aosp/1228346)

Sürüm 2.3.1

Sürüm 2.3.1

5 Şubat 2020

androidx.work:work-*:2.3.1 yayınlanır. 2.3.1 sürümü bu taahhütleri içerir.

Hata düzeltmeleri

  • Ön planda bir Service etkinken çalışan uzun süreli Worker'ler için Notification'lerin yaşam döngüsünü daha iyi yönetin. (aosp/1218539, b/147249312)
  • WorkManager artık androidx.sqlite:sqlite-framework:2.1.0 kararlı sürümüne bağlı. (aosp/1217729)
  • ForegroundInfo içinde foregroundServiceType kullanıldığında AndroidManifest.xml içinde bir foregroundServiceType belirtilmesini sağlamak için lint kuralları eklendi. (aosp/1214207, b/147873061)

Sürüm 2.3.0

Sürüm 2.3.0

22 Ocak 2020

androidx.work:work-*:2.3.0, 2.3.0-rc01 tarihinden bu yana herhangi bir değişiklik içermeden yayınlandı. 2.3.0 sürümü bu taahhütleri içerir.

2.2.0 sürümünden beri yapılan önemli değişiklikler

  • ListenableWorker#setForegroundAsync() üzerinden uzun süren veya önemli çalışmalar için destek.
  • ListenableWorker#setProgressAsync() üzerinden çalışan ilerlemesi için destek.
  • WorkManager, artık hataların erken yakalanmasına yardımcı olmak için kitaplığın bir parçası olarak ek lint kurallarını kullanıma sunuyor.

Sürüm 2.3.0-rc01

8 Ocak 2020

androidx.work:work-*:2.3.0-rc01 yayınlandı. 2.3.0-rc01 sürümü bu taahhütleri içerir.

Bu sürüm, 2.3.0-beta02 ile aynıdır

Hata düzeltmeleri

  • work-testing yapısı artık work-runtime-ktx öğesine bir api bağımlılığı tanımlamaktadır. (aosp/1194410)

Sürüm 2.3.0-beta02

18 Aralık 2019

androidx.work:work-*:2.3.0-beta02 yayınlanır. 2.3.0-beta02 sürümü bu taahhütleri içerir.

Yeni özellikler

  • Kurtarılamayan SQLite istisnaları için daha iyi bir hata mesajı eklendi. (aosp/1185777)
  • İsteğe bağlı başlatma kullanılırken androidx.work.impl.WorkManagerInitializer içerik sağlayıcısının AndroidManifest.xml uygulamasından kaldırılmasını sağlayan bir lint kuralı eklendi. (aosp/1167007)
  • enqueueUniquePeriodicWork() yerine PeriodicWorkRequest için enqueue() kullanıldığında bir lint uyarısı eklendi. (aosp/1166032)

API değişiklikleri

  • ForegroundInfo artık ListenableWorker.setForegroundAsync() kullanılırken kullanılacak notificationId değerini belirtmenizi gerektiriyor. Bu, zarar veren bir değişikliktir. Bu sayede paralel olarak uzun süre çalışan birden fazla Worker çalıştırabilirsiniz. WorkManager, sağlanan Notification'lerin kullanım ömrünü de daha iyi yönetir. (b/145473554, aosp/1181208, asop/1181216, asop/1183577)

Hata düzeltmeleri

  • AlarmManager uygulamasında, alarmların doğru şekilde temizlenmemesine neden olan bir hata düzeltildi. (aosp/1156444)
  • Boş bir WorkRequest listesinin yanlış WorkContinuation zincirinin oluşturulmasına neden olmasına neden olan hata düzeltildi. (b/142835274, aosp/1157051)

Bağımlılık değişiklikleri

  • WorkManager artık Room 2.2.2'yi kullanıyor.

Sürüm 2.3.0-beta01

20 Kasım 2019

androidx.work:work-*:2.3.0-beta01 yayınlanır. Sürüm 2.3.0-beta01 bu kaydetmeleri içerir.

Yeni özellikler

  • İsteğe bağlı başlatma kullanılırken androidx.work.Configuration.Provider işlevinin yanlış uygulanması nedeniyle geliştirici hatalarını önleyen yeni bir lint kuralı eklendi. aosp/1164559

Sürüm 2.3.0-alpha03

23 Ekim 2019

androidx.work:work-*:2.3.0-alpha03 yayınlanır. 2.3.0-alpha03 sürümü bu taahhütleri içerir.

Yeni özellikler

  • AndroidManifest.xml'ye başka bir bileşen kaydetmenize gerek kalmadan WorkRequest'leri iptal etmenizi kolaylaştıran WorkManager.createCancelPendingIntent() API eklendi. Bu API, özellikle Notification'lardan WorkRequest'leri iptal etmeyi kolaylaştırır. Bu özelliğin 2.3.0 sürümünde yeni ön plan API'leriyle birlikte kullanılabileceğini umuyoruz.
  • WorkManager artık androidx.room:*:2.2.0 kararlı sürümüne bağlıdır.

API değişiklikleri

  • Temel platform API'leriyle daha tutarlı olması için ForegroundInfo.getNotificationType(), ForegroundInfo.getForegroundServiceType() olarak yeniden adlandırıldı. (b/142729893, aosp/1143316)

Hata düzeltmeleri

  • İşlem dışında gereksiz setTransactionSuccessful() çağrısından kaynaklanan hata düzeltildi. Bu durum, nadiren gerçekleşen taşıma işlemlerinde görülür. (b/142580433, aosp/1141737)

Sürüm 2.3.0-alpha02

9 Ekim 2019

androidx.work:work-*:2.3.0-alpha02 yayınlandı. 2.3.0-alpha02 sürümü bu taahhütleri içerir.

Yeni özellikler

  • WorkManager artık OS tarafından etkin tutulması gereken uzun süreli veya önemli işlerin çalıştırılmasını desteklemektedir. Daha fazla bilgi için ListenableWorker#setForegroundAsync() (veya Kotlin için CoroutineWorker#setForeground()) sayfasına bakın. (aosp/1133636)

API değişiklikleri

  • Data'daki containsKey API'si hasKeyWithValueOfType olarak yeniden adlandırılır. ktx kitaplığındaki ilgili uzantı yöntemi de yeniden adlandırıldı. (b/141916545)

Hata düzeltmeleri

  • WorkManager, sıraya eklenen WorkRequest sayısı planlama sınırlarına yaklaştığında işleri adil bir şekilde planlar. (aosp/1105766)
  • WorkManager, ListenableWorker#onStopped() işlevini yalnızca iş henüz tamamlanmadıysa çağırır. (b/140055777)
  • WorkManager artık bir işleyici kesintiye uğradığında veya son durumuna ulaştığında ilerleme bilgilerini kaldırır. (aosp/1114572)
  • Data artık çok daha kullanışlı bir toString()temsil şekline sahip. (b/140945323)
  • Data artık daha iyi bir equals() yöntemine sahip. Ayrıca Array türleri için deepEquals desteklenir. (b/140922528)
  • WorkManager artık dahili veritabanını ve tercih dosyalarını yedekleme olmayan bir dizinde saklar. (b/114808216)

Sürüm 2.3.0-alpha01

22 Ağustos 2019

androidx.work:work-*:2.3.September 5, 20190-alpha01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Yeni özellikler

  • ListenableWorker kullanıcıları artık setProgressAsync() API aracılığıyla ilerleme durumunu ayarlayabilir. Ayrıca, CoroutineWorker içinde karşılık gelen suspend-ing setProgress API'si ve RxWorker için Single<Void> döndüren bir setProgress API'si de eklendi. Çalışanlar bu yeni API'lerle ilerleme bilgilerini, karşılık gelen bir getProgress API'si olan WorkInfo üzerinden iletebilir. (b/79481554)
  • Data, Worker'ye gönderilen giriş verilerinin beklenen türde anahtarlara sahip olduğunu doğrulamak için kullanılabilecek bir containsKey() API'sine sahiptir. (b/117136838)
  • Data artık Data.toByteArray() ve Data.fromByteArray() kullanılarak serileştirilebilir. Data için sürüm garantisi bulunmadığından bu anahtarı kalıcı tutmamalı veya uygulamalar arasında IPC için kullanmamalısınız. Yalnızca aynı uygulamanın birden fazla işlemi arasında kullanılması güvenlidir.
  • Configuration.setInputMergerFactory aracılığıyla InputMergerFactory belirtme özelliği eklendi. (b/133273159)

API değişiklikleri

  • Bir WorkerFactory daha önce çağrılan bir ListenableWorker örneği döndürürse WorkManager bir IllegalStateException örneği atar. (b/139554406)
  • ListenableFuture iptaliyle ve ListenableWorker'deki onStopped() geri aramasıyla ilgili doküman güncellemeleri. (b/138413671)

Hata düzeltmeleri

  • İşlemdeki Scheduler artık idle kısıtlamasına sahip WorkRequest'leri yoksayar. Bu istekler artık yalnızca cihaz gerçekten idle olduğunda JobScheduler tarafından alınır. (aosp/1089779)
  • TestScheduler, testlerde dahili görev yürütücü için belirtilen Executor değerini artık doğru bir şekilde kullanıyor. (aosp/1090749)

Sürüm 2.2.0

Sürüm 2.2.0

15 Ağustos 2019

androidx.work:work-*:2.2.0 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Bu sürüm androidx.work:work-*:2.2.0-rc01 ile aynıdır.

2.2.0'daki 2.1.0'a kıyasla önemli değişiklikler

androidx.work:work-gcm:2.2.0, Google Play Hizmetleri API düzeyleri 22 ve altı için kullanılabilirken GCMNetworkManager'ın planlayıcı olarak kullanılmasını destekleyen yeni bir Maven yapısıdır. Bu, eski API sürümlerinde daha güvenilir ve performanslı arka plan işlemeye yardımcı olan isteğe bağlı bir bağımlılıktır. Uygulamanız Google Play Hizmetleri kullanıyorsa GCMNetworkManager desteğini otomatik olarak almak için bu bağımlılığı gradle dosyanıza ekleyin. Play Hizmetleri kullanılamıyorsa WorkManager eski cihazlarda AlarmManager'ı kullanmaya devam eder.

Sürüm 2.2.0-rc01

30 Temmuz 2019

androidx.work:work-*:2.2.0-rc01 yayınlandı. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Hata düzeltmeleri

  • AlarmManager uygulamasında, hizmetin erken kapanmasına neden olan ve nadir durumlarda RejectedExecutionException ile sonuçlanan bir hata düzeltildi. (aosp/1092374) (b/138238197).
  • Bazı cihazlarda JobScheduler API'leri kullanılırken NullPointerException için geçici çözüm eklendi. (aosp/1091020) (b/138364061), (b/138441699)

Sürüm 2.2.0-beta02

19 Temmuz 2019

androidx.work:work-*:2.2.0-beta02 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Hata düzeltmeleri

  • 2.2.0-beta01 yılında kullanıma sunulan kasıtsız jakoko bağımlılığı kaldırıldı.

Sürüm 2.2.0-beta01

17 Temmuz 2019

androidx.work:work-*:2.2.0-beta01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Yeni özellikler

  • androidx.work:work-gcm:2.2.0-beta01, Google Play Hizmetleri API düzeyleri 22 ve altı için kullanılabilirken GCMNetworkManager'ın planlayıcı olarak kullanılmasını destekleyen yeni bir Maven yapısıdır. Bu, eski API sürümlerinde daha güvenilir ve performanslı arka plan işlemeye yardımcı olan isteğe bağlı bir bağımlılıktır. Uygulamanız Google Play Hizmetleri'ni kullanıyorsa otomatik olarak GCMNetworkManager desteği almak için bu bağımlılığı gradle dosyanıza ekleyin. Play Hizmetleri kullanılamıyorsa WorkManager, eski cihazlarda AlarmManager'a geri dönmeye devam eder.

Hata düzeltmeleri

  • Nvidia Shield K1 tabletlerde ağ durumunu izlerken IllegalArgumentException hatası için düzeltme. (aosp/1010188)

2.1.0 sürümü

2.1.0 sürümü

11 Temmuz 2019

androidx.work:work-*:2.1.0 yayınlanır. Bu sürüm androidx.work:work-*:2.1.0-rc01 ile aynıdır.

2.0.1 sürümünden beri yapılan önemli değişiklikler

  • work-runtime-ktx için artık Java 8 gereklidir. Herhangi bir sorunla karşılaşırsanız build.gradle sayfanıza şunları ekleyebilirsiniz: kotlinOptions { jvmTarget = "1.8" }
  • WorkManager için isteğe bağlı ilk kullanıma hazırlama özelliği eklendi. Bu özellik, WorkManager'ı yalnızca referans verildiğinde oluşturur. b/127497100 Projenizi isteğe bağlı başlatmaya göre ayarlamak için:
    1. Otomatik başlatıcıyı devre dışı bırakın.
    2. Özel Application nesnenize Configuration.Provider uygulayın.
    3. WorkManager.getInstance() ile ilgili tüm referansları WorkManager.getInstance(Context) olarak değiştirin. Bu değişiklik kapsamında, WorkManager.getInstance() desteği sonlandırıldı. İsteğe bağlı başlatma işlemi yapmıyor olsanız bile yeni WorkManager.getInstance(Context) değişim cihazını aramak her zaman daha güvenlidir.
  • PeriodicWorkRequest artık ilk gecikmeleri destekliyor. İlk gecikme ayarlamak için PeriodicWorkRequest.Builder üzerinde setInitialDelay yöntemini kullanabilirsiniz. b/111404867
  • DelegatingWorkerFactory kullanarak bir veya daha fazla kayıtlı WorkerFactory için yetki verme özelliği eklendi. b/131435993
  • WorkManager'ın tüm dahili muhasebe işlemleri için kullandığı Executor öğesini Configuration.Builder.setTaskExecutor aracılığıyla özelleştirme özelliği eklendi.
  • work-testing yapıtında TestWorkerBuilder ve TestListenableWorkerBuilder kullanılarak birim test edilebilir Worker ve ListenableWorker sınıfları oluşturma özelliği eklendi.
    • work-testing'ün artık Kotlin'i bağımlılık olarak çektiğini ve varsayılan olarak birkaç Kotlin uzantısı içerdiğini unutmayın.
  • Çalıştırma deneme sayısı WorkInfo değerine eklendi. b/127290461
  • Data türleri artık bayt ve bayt dizileri depolayabilir ve alabilir. Bu, Data nesnenin maksimum boyutunu DEĞİŞTİRMEZ.
  • WorkManager artık Room 2.1.0'e bağlıdır. Bu, bazı veritabanı sorunlarını düzeltecektir.

Sürüm 2.1.0-rc01

27 Haziran 2019

androidx.work:work-*:2.1.0-rc01 yayınlandı. Bu sürümdeki kaydetmelere buradan ulaşabilirsiniz.

Hata düzeltmeleri

  • Yedekleme işlemi devam ederken JobScheduler ile işler yürütülürken uygulamanın kilitlenmesine neden olan hata düzeltildi b/135858602.

Sürüm 2.1.0-beta02

20 Haziran 2019

androidx.work:work-*:2.1.0-beta02 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Hata düzeltmeleri

  • TestListenableWorkerBuilder artık ListenableWorker örnekleri oluştururken doğru WorkerFactory değerini kullanıyor. b/135275844
  • İşlem sona erdiğinde WorkRequest'lerin yürütme zaman aralıklarında kaymalara neden olan bir hata düzeltildi. b/135272196

Sürüm 2.1.0-beta01

13 Haziran 2019

androidx.work:work-*:2.1.0-beta01 yayınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

Hata düzeltmeleri

  • WorkManager artık Room 2.1.0'e bağlıdır. Bu, bazı veritabanı sorunlarını düzeltecektir.
  • Ana iş parçacığında bazı başlangıç diski G/Ç işlemleri kaldırıldı.
  • Kısıt izlemede olası bir kilitlenme düzeltildi. b/134361006
  • WorkManager ile ilişkili geçersiz işler önceden iptal edildi. b/134058261
  • Yanlış davranan cihazlar için JobScheduler API'lerine bazı savunma çağrıları eklendi.

Sürüm 2.1.0-alpha03

5 Haziran 2019

androidx.work:*:2.1.0-alpha03 yayınlandı.

Hata düzeltmeleri

  • PeriodicWorkRequest ile ilgili dokümanlar iyileştirildi.
  • WorkManagerTestInitHelper artık testler için doğru arka plan yürütücüyü kullanıyor.
  • Bazı cihazlarda büyük işlemlerle uğraşırken karşılaşılan SQLite sorunları için düzeltmeler. (b/130182503)
  • WorkManager'ın bağımlılıkları artık daha ayrıntılı. (b/133169148).
  • WorkManager'ı kullanarak işleri planlarken JobScheduler'ün uygulanmasında OEM'ye özgü hatalarla ilgili geçici çözüm.
  • AlarmManager tabanlı planlayıcıda, daha önce nadir görülen kilitlenmelere neden olan hizmet yaşam süreleriyle ilgili iyileştirmeler yapıldı. (b/133313734)

Sürüm 2.1.0-alpha02

16 Mayıs 2019

WorkManager 2.1.0-alpha02 sürümü yayınlandı. Bu sürümde birkaç yeni API yer alıyor.

API Değişiklikleri

  • PeriodicWorkRequest cihazları artık ilk gecikmeleri destekliyor. İlk gecikme ayarlamak için PeriodicWorkRequest.Builder üzerinde setInitialDelay yöntemini kullanabilirsiniz. b/111404867

  • DelegatingWorkerFactory kullanarak bir veya daha fazla kayıtlı WorkerFactory'ye yetki verme özelliği eklendi. b/131435993

  • WorkManager'ın tüm dahili muhasebe işlemleri için kullandığı Executor öğesini Configuration.Builder.setTaskExecutor aracılığıyla özelleştirme özelliği eklendi.

  • WorkRequest.keepResultsForAtLeast (b/130638001), isteğe bağlı başlatma ve PeriodicWorkRequest.Builder (b/131711394) ile ilgili dokümanlar iyileştirildi.

Sürüm 2.1.0-alpha01

24 Nisan 2019

WorkManager 2.1.0-alpha01 sürümü yayınlandı. Bu sürümde birkaç yeni API yer alıyor. Bu sürümden itibaren 1.x sürümüne geri taşınmayacak yeni özellikler olacağını lütfen unutmayın. 2.x sürümüne geçmenizi öneririz.

API Değişiklikleri

  • WorkManager için isteğe bağlı ilk kullanıma hazırlama özelliği eklendi. Bu özellik, WorkManager'ı yalnızca referans verildiğinde oluşturur. b/127497100 Projenizi isteğe bağlı başlatma için ayarlamak üzere:
    1. Otomatik başlatıcıyı devre dışı bırakın.
    2. Özel Application nesnenize Configuration.Provider uygulayın.
    3. WorkManager.getInstance() ile ilgili tüm referansları WorkManager.getInstance(Context) olarak değiştirin. Bu değişiklik kapsamında WorkManager.getInstance() ürününü kullanımdan kaldırdık. İsteğe bağlı başlatma yapmasanız bile yeni WorkManager.getInstance(Context) değişim cihazını çağırmak her zaman daha güvenlidir.
  • work-testing yapıtında TestWorkerBuilder ve TestListenableWorkerBuilder kullanılarak birim test edilebilir Worker ve ListenableWorker sınıfları oluşturma özelliği eklendi.
    • work-testing artık bir bağımlılık olarak Kotlin'den yararlanır, ancak varsayılan olarak çeşitli Kotlin uzantılarını da içerir.
  • Çalıştırma deneme sayısı WorkInfo değerine eklendi. b/127290461
  • Data türleri artık bayt ve bayt dizileri depolayabilir ve alabilir. Bu, Data nesnenin maksimum boyutunu DEĞİŞTİRMEZ.
  • CoroutineWorker.coroutineContext özelliği kullanımdan kaldırıldı. Bu alan CoroutineDispatcher olarak yanlış yazılmıştır. Askıya alma işlevinin gövdesinde istediğiniz coroutineContext'e kendiniz gidebileceğiniz için artık buna ihtiyacınız yoktur.
  • RxWorker.createWork() ve RxWorker.getBackgroundScheduler() artık @NonNull iade türleriyle ek açıklamaya sahip.

Sürüm 2.0.1

Sürüm 2.0.1

9 Nisan 2019

WorkManager 2.0.1 sürümü yayınlandı. Bu sürüm, 2.0.1-rc01 ile aynıdır.

Sürüm 2.0.1-rc01

3 Nisan 2019

WorkManager 2.0.1-rc01 sürümü yayınlandı. Bu sürüm bazı hata düzeltmeleri içeriyor. Eski 1.x sürüm kullanıcıları, bu değişikliklerin bazılarını 1.0.1-rc01 sürümünde de görebilir.

Hata Düzeltmeleri

  • Robolectric testleri artık WorkManager ile düzgün şekilde çalışıyor. b/122553577
  • Job Scheduler API'lerinde temizlenmeyen kısıtlamalarla ilişkili uç durum kilitlenmesi düzeltildi. b/129226383
  • Uzun iş zincirleriyle ilgili bir StackOverflowError düzeltildi. b/129091233
  • PeriodicWorkRequests dokümanları, esnek çalışma saatlerinin API 23'te desteklenmediğini belirtecek şekilde güncellendi.
  • Kotlin dokümanlarındaki bazı bozuk bağlantılar düzeltildi.

Sürüm 2.0.0

Sürüm 2.0.0

20 Mart 2019

WorkManager 2.0.0 sürümü yayınlandı. Bu sürüm, 2.0.0-rc01 ile aynıdır ve AndroidX bağımlılıkları içeren 1.0.0 kararlı sürümünün AndroidX sürümüdür. Eski 1.x sürümleri yerine bu sürümü hedeflemenizi öneririz. Tüm etkin geliştirmeler 2.x sürümünü hedefleyecek ve 1.x sürümüne yalnızca sınırlı bir süre boyunca kritik hata düzeltmeleri uygulanacaktır.

Sürüm 2.0.0-rc01

7 Mart 2019

WorkManager 2.0.0-rc01 yayınlandı. Bu sürüm, 1.0.0 kararlı sürümle aynıdır ancak AndroidX bağımlılıkları vardır. Bu, 2.0.0 kararlı sürümüne ulaştığında bu sürümü eklemeniz gerekir. Eski 1.x sürümleri yalnızca bazı kritik hata düzeltmelerini alır. Tüm etkin geliştirmeler 2.x sürümünü hedefleyecek.

AndroidX öncesi bağımlılıklar

Kotlin uzantılarını kullanma hakkında bilgi için KTX dokümanlarına bakın.
Referans dokümanları: Java

Eski

dependencies {
    def work_version = "1.0.1"

    // (Java only)
    implementation "android.arch.work:work-runtime:$work_version"

    // Kotlin + coroutines
    implementation "android.arch.work:work-runtime-ktx:$work_version"

    // optional - RxJava2 support
    implementation "android.arch.work:work-rxjava2:$work_version"
    // optional - Test helpers
    androidTestImplementation "android.arch.work:work-testing:$work_version"
}

Kotlin

dependencies {
    val work_version = "1.0.1"

    // (Java only)
    implementation("android.arch.work:work-runtime:$work_version")

    // Kotlin + coroutines
    implementation("android.arch.work:work-runtime-ktx:$work_version")

    // optional - RxJava2 support
    implementation("android.arch.work:work-rxjava2:$work_version")

    // optional - Test helpers
    androidTestImplementation("android.arch.work:work-testing:$work_version")
}

Sürüm 1.0.1

1.0.1 sürümü

9 Nisan 2019

WorkManager 1.0.1 sürümü yayınlandı. Bu sürüm, 1.0.1-rc01 ile aynıdır.

Bundan sonra 1.x dalında çok az güncelleme olacağından kullanıcıların WorkManager 2.x'e geçmesini önemle tavsiye ediyoruz. 1.x kitaplığı için yeni API'ler de yayınlanmayacaktır.

Sürüm 1.0.1-rc01

2 Nisan 2019

WorkManager 1.0.1-rc01 sürümü yayınlandı. Bu sürüm bazı hata düzeltmeleri içeriyor.

Hata Düzeltmeleri

  • Robolectric testleri artık WorkManager ile düzgün şekilde çalışıyor. b/122553577
  • JobScheduler öncesi API'lerde kısıtlama izlemenin temizlenmemesi nedeniyle ortaya çıkan uç durum çökmesi düzeltildi. b/129226383
  • Uzun iş zincirleriyle ilgili bir StackOverflowError düzeltildi. b/129091233

Sürüm 1.0.0

Sürüm 1.0.0

5 Mart 2019

Bu, WorkManager'ın 1.0.0 kararlı sürümüdür. WorkManager'ın bu sürümü 1.0.0-rc02 ile aynıdır.

Sürüm 1.0.0-rc02

21 Şubat 2019

Bu, WorkManager'ın 1.0.0 kararlı sürümü için ikinci sürüm adayıdır. Bu sürümde iki hata düzeltmesi yer almaktadır.

Hata Düzeltmeleri

  • Uygulama kilitlenmesinden sonra Worker öğeleri artık doğru bir şekilde planlandı. b/124546316

  • İşaretlenmemiş Exception gönderen Worker öğeleri artık doğru şekilde FAILED olarak işaretleniyor ve uygulama işlemini kilitlemiyor.

Sürüm 1.0.0-rc01

14 Şubat 2019

Bu, WorkManager'ın 1.0.0 kararlı sürümü için sürüm adayıdır. Bu sürümde bir hata düzeltmesi yer almaktadır.

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulama artık PeriodicWorkRequests için flex aralıklarını doğru şekilde dikkate alıyor. b/124274584

Sürüm 1.0.0-beta05

6 Şubat 2019

Bu sürümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • API 23'te JobScheduler.getPendingJob(...) değerinin kullanıldığı bir durum düzeltildi. b/123893059
  • Android 5.1 (API düzeyi 22) veya önceki sürümleri çalıştıran cihazlarda NullPointerException sorunu düzeltildi. b/123835104

Sürüm 1.0.0-beta04

4 Şubat 2019

Bu sürümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulama için PeriodicWork'ın planlaması iyileştirildi.
  • AlarmManager tabanlı uygulama kullanılırken WorkManager'ın kısıtlamaları doğru şekilde izleyemediği bir durum düzeltildi. b/123379508
  • WorkManager'ın, AlarmManager tabanlı uygulama kullanılırken işlem ölümü üzerinde çalışmayı yeniden deneyememesi durumu düzeltildi. b/123329850
  • AlarmManager tabanlı uygulama kullanılırken WorkManager'ın Wakelock'ları sızdırmasına neden olan bir durum düzeltildi.

Sürüm 1.0.0-beta03

25 Ocak 2019

Bu sürüm bazı hata düzeltmeleri içeriyor.

Hata Düzeltmeleri

  • Bazı durumlarda çalışmanın düzgün şekilde yürütülmemesine neden olan bir gerileme 1.0.0-beta02 özelliğini kullanıma sunduk. b/123211993
  • Çalışmanın, bekleme zamanlamasını düzgün şekilde dikkate almadığı bir durum düzeltildi. b/122881597
  • Android 5.1 (API veya) veya daha eski sürümleri çalıştıran cihazlarda ConcurrentModificationException sorunu düzeltildi. Bu, 1.0.0-beta02'teki düzeltmenin devamı niteliğindedir. b/121345393
  • Manifestimizde bu ek açıklamanın eksik olduğu bazı bileşenler için exported=false eklendi.
  • WorkManager'ın OS ile nasıl etkileşime geçtiğiyle ilgili bilgileri paket düzeyindeki belgelere ekledik.

Sürüm 1.0.0-beta02

15 Ocak 2019

Bu sürüm bazı hata düzeltmeleri içeriyor.

Hata Düzeltmeleri

  • Android 6.0 (API düzeyi 23) çalıştıran cihazlarda periyodik çalışmaların aralık başına birden fazla kez çalıştırılabileceği durumlar düzeltildi. b/121998363
  • Android 5.1 (API düzeyi 22) veya daha eski sürümleri çalıştıran cihazlarda ConcurrentModificationException sorunu düzeltildi. b/121345393
  • Android 5.1 (API düzeyi 22) veya önceki sürümleri çalıştıran cihazlarda kısıtlamalar karşılanmadığı zaman çalışmanın hatalı şekilde yürütülmesi düzeltildi. b/122578012
  • Bazı uç durumlarda daha hızlı olması için iş tamamlama işlemi optimize edildi. b/122358129
  • WorkManager'ın kullandığı birden fazla LiveData örneği arasındaki olası yarış koşullarını gidermek için bir değişiklik eklendi.
  • 1.1.1-rc01 yerine Room bağımlılık 1.1.1 kullanılacak şekilde taşındı. Bu sürümler aynıdır. b/122578011

Sürüm 1.0.0-beta01

19 Aralık 2018

Bu sürümde API değişikliği yoktur. Bundan sonra, kritik bir sorun olmadığı sürece WorkManager'ın API'si bir sonraki sürüme kadar kararlı kalacak. Bu sürümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • Başarıyla tamamlanmış üst çalışmaların daha önce iptal edilen alt çalışmaları artık yayınlanmayacak. b/120811767
  • Düzgün şekilde başlatılmış günlük kaydı sınıfları (genellikle testler sırasında gösterilir).

Sürüm 1.0.0-alpha13

12 Aralık 2018

Bu sürüm, bazı Kotlin kullanıcıları için yararlı olacak küçük bir API değişikliği içerir.

API Değişiklikleri

  • androidx.work.Result, ListenableWorker sınıfının iç sınıfı olacak şekilde taşındı. Bu, Kotlin'in üst düzey Result sınıfıyla yeniden düzenleme çakışmalarını önler. Bu, API'de yapılan ve mevcut işlevleri etkileyen bir değişikliktir. b/120564418

Çağlık API Değişiklikleri

  • androidx.work.Result, ListenableWorker iç sınıfı olacak.

Sürüm 1.0.0-alpha12

5 Aralık 2018

Bu sürümde zarar veren API değişiklikleri yer almaktadır. Lütfen aşağıdaki Çöken API Değişiklikleri bölümüne bakın. Bu sürüm büyük olasılıkla ilk beta sürümümüz olarak yayınlanacaktır. alpha12, kapsamlı doküman güncellemeleri de içerir.

API Değişiklikleri

  • Yeni bir yapı olan work-rxjava2, RxWorker özelliğini kullanıma sunar. Bu, Single<Payload> bekleyen bir ListenableWorker.
  • Firebase JobDispatcher desteği, desteğin sonlandırılacağı için kaldırıldı. Bu, beta sürümüne geçiş yaptığımızda work-firebase yapının artık güncellenmeyeceği anlamına gelir. Gelecekte bir alternatif eklemeyi planlıyoruz.
  • Payload, Result ile birleştirildi. Result artık Result.success() (veya Result.success(Data)), Result.failure() (veya Result.failure(Data)) ve Result.retry() üzerinden alabileceğiniz üç somut uygulama içeren "mühürlü sınıf" oldu. ListenableFuture'leriniz artık Payload yerine Result sonucunu veriyor. Workers, Data çıkışı için alıcı ve ayarlayıcı yöntemlerine sahip değildir. Bu, önemli bir değişikliktir.
  • Yavaş tetiklenen içerik URI'lerini daha iyi desteklemek için Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit) ve Constraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit) ile varyantları eklendi. b/119919774
  • WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration) varyantı eklendi. Bu yöntem için API 26 gerekir.
  • Operation.await() ve ListenableFuture.await() Kotlin uzantı yöntemleri eklendi.
  • Operation.getException() adlı dosya Operation.getThrowable() olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • ContentUriTriggers sınıfı ve bu sınıfa referans veren yöntemler artık herkese açık olarak kullanılamaz. Bu, önemli bir değişikliktir.
  • API'yi kolaylaştırmak için WorkManager, WorkContinuation ve OneTimeWorkRequest içindeki varargs yöntemlerinin geri kalanı kaldırıldı. Olası derleme sorunlarını düzeltmek için mevcut değişkenli bağımsız değişkenlerinizi Arrays.asList(...) ile sarmalayabilirsiniz. Yine de her yöntemin tek bağımsız değişkenli sürümlerini dahil ederiz. Bu, zarar veren bir değişikliktir.
  • WorkContinuation.combine(OneTimeWorkRequest, *) varyant kaldırıldı. Kafa karıştırıcı bir API sunuyorlardı; mevcut combine yöntemleri daha anlaşılır. Bu, önemli bir değişikliktir.

Hata Düzeltmeleri

  • Marshmallow öncesi uygulamalar, halihazırda yürütülmekte olan bir görevin işlemden kaldırılmasından sonra kurtarma işleminde artık daha güvenilir.
  • observeForever aracılığıyla gözlemlenen LiveData, WorkManager aracılığıyla izlenir. Bu, Oda kitaplığı düzeltmesinin geri bağlantı noktasıdır. b/74477406
  • Data.Builder.build(), serileştirilmiş nesne maksimum boyutunu aşarsa artık istisna atar. Bu durum daha önce yalnızca düzgün bir şekilde işleyemediğiniz arka plan ileti dizilerinde gerçekleşiyordu.
  • Durdurulan ve iptal edilen işler arasında daha fazla ayrım yapılır; getWorkInfoById(), ListenableWorker.onStopped() sırasında CANCELLED State ile bir WorkInfo döndürür.
  • null Result öğelerini ListenableWorker öğesinde başarısız olarak değerlendir. b/120362353
  • API 24 çalıştıran Shield Tablet'lerde bazen IllegalArgumentException hatası veren spekülatif düzeltme. b/119484416

Büyük API Değişiklikleri

  • Firebase JobDispatcher desteği, desteğin sonlandırılacağı için kaldırıldı. Bu, work-firebase yapısının artık beta sürümüne geçilmeye başlanmayacağı anlamına gelir. Gelecekte alternatif bir yöntem eklemeyi planlıyoruz.
  • Payload, Result ile birleştirildi. Result artık Result.success() (veya Result.success(Data)), Result.failure() (veya Result.failure(Data)) ve Result.retry() aracılığıyla edinebileceğiniz üç somut uygulamaya sahip "mühürlü bir sınıf"tır. ListenableFuture'leriniz artık Payload yerine Result ile sonuçlanıyor. Workers, Data çıkışı için alıcı ve ayarlayıcı yöntemlerine sahip değildir.
  • Operation.await() ve ListenableFuture.await() Kotlin uzantı yöntemleri eklendi.
  • Operation.getException(), Operation.getThrowable() olarak yeniden adlandırıldı.
  • ContentUriTriggers sınıfı ve bu sınıfa referans veren yöntemler artık herkese açık olarak kullanılamaz.
  • API'yi kolaylaştırmak için WorkManager, WorkContinuation ve OneTimeWorkRequest içindeki varargs yöntemlerinin geri kalanı kaldırıldı. Olası derleme sorunlarını düzeltmek için mevcut değişkenli bağımsız değişkenlerinizi Arrays.asList(...) ile sarmalayabilirsiniz. Her yöntemin tek parametreli sürümlerini kullanmaya devam ediyoruz.
  • WorkContinuation.combine(OneTimeWorkRequest, *) varyant kaldırıldı. Kafa karıştırıcı bir API sunuyorlardı; mevcut combine yöntemleri daha anlaşılır.

Sürüm 1.0.0-alpha11

8 Kasım 2018

Bu sürüm, beta itibarıyla kararlı API'ye dönüşecek birçok değişiklik içeriyor. Bu sürümde önemli API değişiklikleri vardır. Lütfen aşağıdaki Önemli API Değişiklikleri bölümüne bakın.

API Değişiklikleri

  • work-runtime-ktx, yeni bir CoroutineWorker sunuyor.
  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. Tüm ilgili getStatus yöntem varyantları, ilgili getWorkInfo varyantları olarak yeniden adlandırıldı. Bu, zarar veren bir değişikliktir.
  • ListenableWorker.onStopped() artık kabul etmiyor, WorkRequest'un iptal edilip edilmediğini gösteren bir boole bağımsız değişkeni içerir. WorkManager artık bu ayrımı yapmıyor. Bu, zarar veren bir değişikliktir.
  • androidx.work.test paketi, androidx.work.testing paketi olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • Constraints'teki ayarlayıcılar artık herkese açık API'nin bir parçası değildir. Bu, zarar veren bir değişikliktir.
  • WorkerParameters.getTriggeredContentUris() ve WorkerParameters.getTriggeredContentAuthorities() daha önce döndürülen dizilerdir. Artık bu yöntemler Koleksiyonları döndürüyor. Bu, zarar veren bir değişikliktir.
  • ListenableWorker.onStartWork(), ListenableWorker.startWork() olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • WorkStatus sınıfının kurucusu artık herkese açık API'nin bir parçası değildir. Bu, önemli bir değişikliktir.
  • Configuration.getMaxJobSchedulerID() ve Configuration.getMinJobSchedulerID() sırasıyla Configuration.getMinJobSchedulerId() ve Configuration.getMaxJobSchedulerId() olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • API'nin ergonomisini iyileştirmek için herkese açık API'ye çok sayıda @NonNull ek açıklama eklendi.
  • WorkContinuation oluşturmak zorunda kalmadan benzersiz OneTimeWorkRequest'leri sıraya almak için WorkManager.enqueueUniqueWork() API'si ekleyin.
  • WorkManager üzerindeki tüm enqueue ve cancel yöntemlerinin varyantları artık yeni bir Operation türü döndürüyor. Bu, önemli bir değişikliktir.
  • enqueue öğesinin hiçbir varyantı, WorkRequest için artık değişken kabul etmiyor. Bu, önemli bir değişikliktir. Bunun yerine koleksiyonları kullanın. Mevcut kodu değiştirmek için Arrays.asList() uzantısını kullanabilirsiniz. Bu uygulamayla, API yüzeyini ve yöntem sayısını azalttık.
  • İşlem başına birden fazla kez initialize WorkManager yapmaya çalışmak artık IllegalStateException ile sonuçlanacaktır. Bu, zarar veren bir değişikliktir.

Hata Düzeltmeleri

  • work-runtime-ktx yapısındaki WorkRequest.Builder öğeleri artık ListenableWorker kullanıyor. Düzeltmeler b/117666259
  • PeriodicWork için bir sonraki çalıştırma zamanının gelecekte olduğundan emin olun. Düzeltmeler b/118204399
  • Uygulama başlatılırken WorkManager kullanılırken olası disk G/Ç işlemlerini kaldırın. Düzeltmeler b/117796731
  • WorkConstraintsTracker'te yarışma durumunu düzeltin. android-workmanager/issues/56 düzeltme

Büyük API Değişiklikleri

  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. İlgili tüm getStatus yöntem varyantları, karşılık gelen getWorkInfo varyantları ile yeniden adlandırıldı.
  • ListenableWorker.onStopped() artık kabul etmiyor, WorkRequest'un iptal edilip edilmediğini gösteren bir boole bağımsız değişkeni içerir. WorkManager artık bu ayrımı yapmıyor.
  • androidx.work.test paketi, androidx.work.testing paketi olarak yeniden adlandırıldı.
  • Constraints'teki ayarlayıcılar artık herkese açık API'nin bir parçası değildir.
  • WorkerParameters.getTriggeredContentUris() ve WorkerParameters.getTriggeredContentAuthorities() daha önce döndürülen dizilerdir. Bu yöntemler artık koleksiyonlar döndürüyor.
  • ListenableWorker.onStartWork(), ListenableWorker.startWork() olarak yeniden adlandırıldı.
  • WorkStatus sınıfının kurucusu artık herkese açık API'nin bir parçası değildir.
  • Configuration.getMaxJobSchedulerID() ve Configuration.getMinJobSchedulerID() sırasıyla Configuration.getMinJobSchedulerId() ve Configuration.getMaxJobSchedulerId() olarak yeniden adlandırılır.
  • WorkManager üzerindeki tüm enqueue ve cancel yöntemlerinin varyantları artık yeni bir Operation türü döndürüyor.
  • enqueue'ün tüm varyantları artık WorkRequest için değişken sayıda bağımsız değişken kabul etmiyor.
  • İşlem başına birden fazla kez initialize WorkManager yapmaya çalışmak artık IllegalStateException ile sonuçlanacaktır.

Sürüm 1.0.0-alpha10

11 Ekim 2018

Bu sürüm, geliştirici tarafından kontrol edilen eşzamansız işlemleri destekler. Bu sürümde önemli API değişiklikleri vardır. Lütfen aşağıdaki Önemli API Değişiklikleri bölümüne bakın.

WorkManager'ın alfa döneminin son aşamalarına girdiğini tahmin ediyoruz. API'nin beta sürümünde kararlı olmasını bekliyoruz. Lütfen sorun izleyicimize geri bildirim gönderin.

API Değişiklikleri

  • Önceden var olan tüm deprecated yöntemleri ve sınıfları (özellikle varsayılan Worker kurucusu) kaldırıldı. Bu, API'de zarar veren bir değişikliktir.
  • NonBlockingWorker, artık gösterilmemiş, herkese açık ve kullanıma hazır bir sınıf olan ListenableWorker olarak yeniden adlandırıldı.
    • ListenableWorker, ana iş parçacığında çağrılan ListenableFuture<Payload> onStartWork() adlı soyut bir yönteme erişim sağlar. İşleri eşzamansız olarak başlatmak ve işlemek size bağlıdır. İşlemi tamamladığınızda ListenableFuture öğesini uygun şekilde güncellemeniz gerekir. ListenableFuture referans uygulamaları, alpha02'deki Futures paketinde sağlanır (WorkManager bölümünün altına bakın).
    • Worker, ListenableWorker'u genişletir ve soyut bir Result doWork() yöntemiyle eskisi gibi çalışmaya devam eder.
    • Bazı yöntemler ve üyeler Worker'ten ListenableWorker'a taşındı.
    • Kotlin coroutine'lerini (stabil sürümleri yayınlandıktan sonra) ve RxJava2'yi kullanan ListenableWorker'ler için yakında referans uygulamalar sağlayacağız.
  • WorkerFactory arayüzü ve DefaultWorkerFactory somut uygulaması, WorkerFactory adlı soyut bir sınıfta birleştirildi. Uygulama, kullanıcı tarafından oluşturulan tüm WorkerFactory örnekleri için son çare olarak varsayılan yansımaya dayalı davranışın çağrılmasını sağlar. Bu, zarar veren bir değişikliktir.
  • WorkManager.synchronous() ve WorkContinuation.synchronous() ile ilgili tüm yöntemler kaldırıldı. API'deki birçok yöntemin döndürülen türü olarak ListenableFuture<Void> eklendi. Bu, API'de zarar veren bir değişikliktir.
    • Artık ListenableFuture öğelerini kullanarak eşzamanlı olarak alabilir ve gözlemleyebilirsiniz. Örneğin, WorkManager.enqueue() önceden void değerini döndürürken artık ListenableFuture<Void> değerini döndürüyor. İşlem tamamlandıktan sonra kodu çalıştırmak için ListenableFuture.addListener(Runnable, Executor) veya ListenableFuture.get() işlevini çağırabilirsiniz.
    • Bu ListenableFuture değerleri, işlemin başarılı olup olmadığını değil, yalnızca işlemin tamamlandığını gösterir. Bu bilgileri öğrenmek için yine WorkManager yöntemlerini zincirleme yapmanız gerekir.
    • Bu nesneler kafa karıştırıcı ve akıl yürütmeleri zor olduğundan (işlemi mi yoksa sonuç olarak yapılacak işi mi iptal ediyorsunuz?) nedeniyle cancel() çağrıları yok sayılır. Bu, Future'nin sözleşmesi kapsamındadır.
    • Senkron getStatus* yöntemleriyle eşleşmeyi sağlamak için ListenableFuture varyantları sağladık ve LiveData döndüren mevcut yöntemlerin adını, adında açıkça "LiveData" olacak şekilde yeniden adlandırdık (örneğin, getStatusesByIdLiveData(UUID)). Bu, API'de yapılan önemli bir değişikliktir.

Hata Düzeltmeleri

  • alpha09 sürümündeki yinelenen androidx-annotations.pro dosyalarıyla ilgili bilinen sorun düzeltildi. exclude 'META-INF/proguard/androidx-annotations.pro' dosyasını gradle dosyanızdan silerek önceki sürüm notlarındaki geçici çözümü kaldırabilirsiniz.
  • Yeni Worker kurucusunu korumak için ProGuard yapılandırmaları eklendi. b/116296569
  • Çalışmanın REPLACEd olduğu bir yarış koşulunda potansiyel NullPointerException düzeltin. b/116253486 ve b/116677275
  • WorkContinuation.combine() artık iki veya daha fazla yerine bir veya daha fazla WorkContinuation kabul ediyor. b/117266752

Büyük API Değişiklikleri

  • Önceden var olan tüm deprecated yöntemleri ve sınıfları (özellikle varsayılan Worker kurucusu) kaldırıldı.
  • WorkerFactory arayüzü ve DefaultWorkerFactory somut uygulaması, WorkerFactory adlı soyut bir sınıfta birleştirildi.
  • WorkManager.synchronous() ve WorkContinuation.synchronous() kaldırıldı.
  • WorkManager.getStatus*() yöntemleri artık ListenableFuture değeri döndürüyor. WorkManager.getStatus*LiveData() LiveData iade eder.

Sürüm 1.0.0-alpha09

19 Eylül 2018

Bilinen Sorun

"META-INF/proguard/androidx-annotations.pro'nun işletim sisteminden bağımsız yolu ile birden fazla dosya bulundu" sorunuyla karşılaşırsanız alfa10 sürümünde sorunu düzeltirken lütfen geçici bir çözüm olarak aşağıdakini gradle dosyanıza ekleyin:

Groovy

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

Kotlin

android {
    packagingOptions {
        exclude("META-INF/proguard/androidx-annotations.pro")
    }
}

Hata Düzeltmeleri

  • "100 iş" hatası için gereken başka bir düzeltme eklendi. b/115560696
  • Yarış koşullarından kaynaklanan yabancı anahtar kısıtlama hataları için bazı düzeltmeler eklendi. b/114705286
  • Temel Worker öğesine yetki verilmiş ConstraintTrackingWorker.onStopped(boolean) çağrıları. b/114125093
  • Firebase JobDispatcher için doğru minimum bekleme süresini zorunlu kılma. b/113304626
  • İyileştirilmiş mesaj dizileri, kitaplığın dahili olarak kullanılmasını sağlar.
  • LiveData'ün dahili olarak tekilleştirilmesiyle ilgili olası sorunu düzeltin.

API Değişiklikleri

  • Artık WorkManager.Configuration kapsamında bir WorkerFactory belirterek çalışma zamanında kendi Worker örneklerinizi oluşturabilirsiniz. Yedek fabrika, WorkManager'ın önceki sürümlerinin davranışıyla eşleşen DefaultWorkerFactory olur.
    • Worker ve NonBlockingWorker için varsayılan kurucular artık desteği sonlandırılmış olarak işaretlendi. Lütfen yeni kurucuyu (Worker(Context, WorkerParameters)) kullanın ve super(Context, WorkerParameters) işlevini çağırın. WorkManager'ın gelecekteki sürümlerinde varsayılan kurucu kaldırılacaktır.
  • Yeni ListenableFuture yapısını dahili olarak kullanmaya başladık (Guava bağımlılıkları içermez). ListenableFutures'ı gelecek sürümlerde API'ye ekleyeceğiz. Bu değişiklik, NonBlockingWorker öğesinin nihai olarak gösterilmesini destekleyecek.
  • TestDriver.setInitialDelayMet(UUID) ve TestDriver.setPeriodDelayMet(UUID) aracılığıyla TestDriver'te zamanlanmış çalışmayı tetikleme özelliğini ekleyin. b/113360060

Çarpıcı Değişiklikler

  • Varsayılan Worker ve NonBlockingWorker kurucularının desteği sonlandırıldı. Lütfen en kısa zamanda yeni oluşturucuya geçin. Varsayılan kurucu, gelecekteki sürümlerde kaldırılacaktır.

Sürüm 1.0.0-alpha08

27 Ağustos 2018

Hata Düzeltmeleri

  • Doğrudan önyükleme sırasında başlatılmayacakları için WorkManager bileşenleri doğrudan önyükleme farkında değil olarak açıkça etiketlendi. Gelecekte, doğrudan başlatmaya duyarlı bir WorkManager sürümü sunacağız. b/112665532
  • Yeniden denenen çalışmanın çalışmamasına neden olan sorun düzeltildi. b/112604021
  • Periyodik çalışmanın tekrar tekrar yürütülmemesi sorunu düzeltildi (yukarıdaki sorunla ilgili). b/112859683
  • Uygulama işlemi zaten çalışıyorsa geri çekilme politikaları dikkate alınır.
  • Data içindeki istisna mesajları, sınırın 10 KB olduğunu belirtecek şekilde düzeltildi.
  • Configuration.setMaxSchedulerLimit(int) olan maksimum değer, JobScheduler işleminin tamamlanmasındaki bazı gecikmeleri hesaba katmak için 50'ye düşürüldü. b/112817355

Sürüm 1.0.0-alpha07

16 Ağustos 2018

Hata Düzeltmeleri

  • Sınırsız sayıda sonuç döndürebilecek negatif sınırlara sahip olası bir SQL sorgusu düzeltildi.
  • Yürütülmesi tamamlanan işler artık diğer planlayıcılardaki bekleyen tüm kopyalarını doğru şekilde iptal ediyor. Bu durum, JobScheduler iş sınırının aşılmasına neden oldu. b/111569265
  • ConstraintTracker'da ConcurrentModificationException sorunu düzeltildi. b/112272753
  • Data.getBooleanArray(String) ve Data.getIntArray(String) işlevlerinin döndürülen tür ek açıklamaları @NonNull yerine @Nullable olarak değiştirildi. b/112275229

API Değişiklikleri

  • Worker, NonBlockingWorker adlı yeni sınıfın kapsamını genişletiyor. Bu durum, mevcut kullanımları etkilemez. Gelecekte NonBlockingWorker, özel mesaj dizileri çözümleri için tam olarak desteklenen bir öğe haline gelecektir.
  • Data.getBooleanArray(String) ve Data.getIntArray(String) işlevlerinin döndürülen tür ek açıklamaları @NonNull yerine @Nullable olarak değiştirildi. b/112275229
  • Kotlin uzantıları: Mevcut API'lerle daha tutarlı olması için Map.toWorkData() desteği sonlandırıldı ve üst düzey bir workDataOf(vararg Pair<String, Any?>) eklendi.

Sürüm 1.0.0-alpha06

1 Ağustos 2018

Hata Düzeltmeleri

  • İş planlarken veritabanı kilidini önleme. b/111801342
  • Doz modundayken PeriodicWork ürününün planlanan şekilde çalışmamasına neden olan bir hatayı düzeltin. b/111469837
  • Kısıtlamaları izlerken WorkManager'ün kilitlenmesine neden olan bir yarış koşulu düzeltildi. googlecodelabs/android-workmanager/issues/56
  • WorkRequest.Builder#build() kullanırken benzersiz WorkRequest'ler oluşturun. b/111408337
  • RescheduleReceiver kullanımını yalnızca gereken WorkRequest olduğunda etkinleştirin. b/111765853

Sürüm 1.0.0-alpha05

24 Temmuz 2018

API Değişiklikleri

  • WorkManager.getInstance() için artık @Nullable yerine @NonNull ek açıklaması bulunuyor. Bunun yerine, manuel başlatma durumunda tekil nesne düzgün şekilde başlatılmazsa yöntem bir IllegalStateException hatası atar. Bu, API'de yapılan önemli bir değişikliktir.
  • WorkManager ayrıntı düzeyini kontrol edebilen yeni bir API (Configuration.Builder.setMinimumLoggingLevel(int)) eklendi. WorkManager varsayılan olarak Log.INFO ve sonraki sürümleri günlüğe kaydeder.
  • Data.getString() işlevinin imzası değiştirildi. Artık varsayılan bir değer almıyor (örtülü olarak null). Bu, API'de yapılan ve mevcut uygulamaları etkileyen bir değişikliktir.
  • Yalnızca şirket içi kullanım için gereken bazı yöntemleri @hide olarak işaretledi. Bu, Constraints oluşturucuyu, Data.toByteArray() ve Data.fromByteArray(byte[])'yi içerir. Bu, API'de yapılan ve mevcut uygulamaların çalışmasını engelleyen bir değişikliktir.

Hata Düzeltmeleri

  • WorkManager artık bilinen otomatik yedekleme durumlarında iş yürütmez. Bu da kilitlenmeye neden olmuş olabilir. b/110564377
  • JobScheduler kullanılırken PeriodicWorkRequest'lerin iki kez planlanması sorunu düzeltildi. b/110798652
  • Cihaz uyku moduna girdikten sonra PeriodicWorkRequest'ların doğru şekilde yürütülmemesiyle ilgili sorun düzeltildi. b/111469837
  • Firebase JobDispatcher kullanılırken ilk gecikmelerle ilgili sorun düzeltildi. b/111141023
  • Olası bazı yarış koşulları ve zamanlama sorunları giderildi.
  • Artık ihtiyaç duyulmayan BroadcastReceiver'leri doğru şekilde serbest bıraktı.
  • Uygulamalar zorla kapatıldıktan sonra yeniden başlatıldığında yeniden planlama performansı optimize edildi.
  • Belirli bir WorkRequest öğesinin sıraya eklenmesinden önce veya sonra TestScheduler.setAllConstraintsMet(UUID) öğesinin çağrılmasına izin verilir. b/111238024

Çarpıcı Değişiklikler

  • WorkManager.getInstance() için artık @Nullable yerine @NonNull ek açıklaması bulunuyor.
  • Data.getString() imzası, artık varsayılan değeri kullanmayacak şekilde değiştirildi (dolaylı olarak null).
  • Bazı yöntemler yalnızca dahili kullanım için gerekli olan yöntemler @hide olarak işaretlendi. Constraints kurucusu, Data.toByteArray() ve Data.fromByteArray(byte[]) bu kapsamdadır.

Sürüm 1.0.0-alpha04

26 Haziran 2018

Hata Düzeltmeleri

  • PeriodicWorkRequest'ler artık AlarmManager tabanlı uygulama kullanılırken doğru şekilde yeniden planlanıyor.
  • Zorunlu durdurma veya yeniden başlatma işleminden sonra tüm çalışanları yeniden planlarken olası bir ANR düzeltildi. b/110507716
  • Çeşitli WorkManager API'lerine boşluk değeri olabilirlik ek açıklamaları eklendi. b/110344065
  • İşleyici yürütülmesi sırasında oluşan ve yakalanmayan istisnaları günlüğe kaydetme. b/109900862
  • WorkManager'ın eski bir sürümüne geri dönmeye karar vermeniz durumunda veritabanını bozan taşıma işlemlerine izin verildi. b/74633270
  • Yinelenen gizli etiketler oluşturulurken taşıma işleminin kilitlenmesi sorunu düzeltildi. Bu, yalnızca aynı gizli etiket biçimini kendiniz kullandıysanız ortaya çıkan çok nadir bir sorundur.

Sürüm 1.0.0-alpha03

19 Haziran 2018

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulamada bir yarış koşulu düzeltildi. b/80346526.

  • Cihaz yeniden başlatıldıktan sonra JobScheduler kullanılırken yinelenen işler düzeltildi.

  • İçerik URI tetikleyicileri olan işler artık yeniden başlatmalarda devam eder. b/80234744

  • Doküman güncellemeleri. b/109827628, b/109758949, b/80230748

  • WorkRequest yeniden sıraya eklenirken kilitlenme sorunu düzeltildi. b/109572353.

  • work-runtime-ktx bağımlılığı kullanılırken ortaya çıkan Kotlin derleyici uyarıları düzeltildi.

  • WorkManager artık Room 1.1.1-rc1 sürümünü kullanıyor.

API Değişiklikleri

  • WorkContinuation.getStatuses() ürününün eşzamanlı sürümü olan getStatusesSync() eklendi.
  • Worker, kullanıcı tarafından başlatılan iptal işlemi ile işletim sistemi tarafından istenen geçici durdurma işlemini ayırt edebilir. Herhangi bir durdurma istendiyse Worker.isStopped(), true değerini döndürür. Worker.isCancelled(), çalışma açık bir şekilde iptal edildiğinde true değerini döndürür. b/79632247
  • API 28'de JobParameters#getNetwork() için destek eklendi. Bu içerik, Worker.getNetwork() aracılığıyla kullanıma sunuldu.
  • JobScheduler veya AlarmManager'ye kaç iş gönderilebileceğini zorunlu kılmak için Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit) eklendi. Bu, WorkManager adlı kullanıcının mevcut JobScheduler slotlarınızın tamamını kullanmasını önlemeye yardımcı olur.
  • WorkManager için güvenli olan bir JobScheduler iş kimliği aralığının tanımlanmasına yardımcı olan Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId) eklendi. b/79996760
  • Worker.getRunAttemptCount(), belirli bir Worker için mevcut çalıştırma sayısını döndürür. b/79716516
  • WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork), benzersiz PeriodicWorkRequest'leri sıraya eklemenize olanak tanır. b/79600647
  • WorkManager.cancelAllWork(), tüm Worker'leri iptal eder. WorkManager'e bağlı kitaplıklar, dahili durumun daha fazla temizlenmesi için WorkManager.getLastCancelAllTimeMillis() kullanarak bu yöntemin en son ne zaman çağrıldığını sorgulayabilir.
  • Tamamlanan işleri dahili veritabanından kaldırmak için WorkManager.pruneWork() eklendi. b/79950952, b/109710758

Davranış Değişiklikleri

  • Tüm WorkRequest öğeleri için Worker öğesinin tam nitelikli sınıf adı olan bir örtük etiket eklendi. Bu sayede, tag olmadan veya id mevcut olmadığında WorkRequest'leri kaldırabilirsiniz. b/109572351

Zararlı Değişiklikler

  • Worker.WorkerResult, Worker.Result olarak yeniden adlandırıldı.
  • Worker.onStopped artık Worker açıkça iptal edildiğinde true olarak ayarlanan ek bir isCancelled parametresine sahiptir.

Sürüm 1.0.0-alpha02

24 Mayıs 2018

Hata Düzeltmeleri

  • State.isFinished() için bir NullPointerException düzeltildi. b/79550068
  • Worker'lerin Application.onCreate() tarihinde yeniden planlanmasına neden olan sorun düzeltildi. b/79660657
  • İşletim sisteminin izin verdiğinden daha fazla iş planlayabileceğiniz bir sorun düzeltildi. b/79497378
  • Worker ile ilişkili uyanık kalma kilitlerinin temizlenmesi arka plan iş parçacığına taşındı.
  • Beklemedeki tüm işler tamamlandığında AlarmManager uygulaması artık doğru şekilde temizleniyor.
  • İngilizce olmayan yerel ayarları etkileyen temizleme SQL sorguları düzeltildi. b/80065360
  • Data sürümünde float için destek eklendi. b/79443878
  • Data.Builder.putAll(), artık Builder öğesinin bir örneğini döndürüyor. b/79699162
  • Dokümanlarda daha fazla Javadoc ve düzeltmeler. b/79691663

API Değişiklikleri

  • Worker'ler durdurulmaya tepki verebilir. Worker.isStopped(), bir Worker'un durdurulup durdurulmadığını kontrol etmek için kullanılabilir. Worker.onStopped(), hafif temizleme işlemleri gerçekleştirmek için kullanılabilir.
  • Worker.getTags() API'si, Worker ile ilişkili etiketlerin Set değerini döndürür.
  • Süre ve TimeUnit sn. kombinasyonundan oluşan API'ler için javax.time.Duration aşırı yüklemeleri eklendi. Bu, @RequiresApi(26) tarafından korunur.
  • WorkManager uzantısı, androidx.work.ktx paketinden androidx.work paketine taşındı. Eski uzantılar artık kullanılmıyor ve gelecekteki bir sürümde kaldırılacaktır.
  • Configuration.withExecutor() desteği sonlandırıldı. Bunun yerine Configuration.setExecutor() politikasını kullanın.

Sürüm 1.0.0-alpha01

8 Mayıs 2018

WorkManager, garantili ve kısıtlama bilincine sahip arka plan işlerinin planlanmasını ve yürütülmesini kolaylaştırır. Bu ilk sürüm 1.0.0-alpha01.