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, bir görev oluşturmanıza ve iş kısıtlamaları karşılandığında çalıştırılmak üzere WorkManager'a aktarmanıza olanak tanır.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
30 Ekim 2024 2.10.0 - - -

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 belgelerine bakın.

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 sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 2.10

Sürüm 2.10.0

30 Ekim 2024

androidx.work:work-*:2.10.0 yayınlanır. 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

  • WorkManager'ten gelen 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.
  • CoroutineWorker işlevinin yürütüldüğü dağıtıcının kontrolü için Configuration.workerCoroutineContext eklendi.
  • 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.
  • 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ınlanır. 2.10.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Ön plan hizmet türüne bağlı olarak, ön plan çalışanının yürütme zaman aşımı nedeniyle durdurulması için durma nedeni 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ınlanır. 2.10.0-alpha03 sürümü bu taahhütleri 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 hizmeti türlerinin kullanıma sunulduğu API 34 ve 35'e sahip 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

  • Çalışmanın ön plan türü, iptal edilmiş Android 14 ön koşulu izinlerine sahipken WorkManager'ün uzun süre çalışan bir çalışanı (ör. ön plan çalışanı) yeniden başlatmaya çalışması nedeniyle oluşan kilitlenmeyi düzeltin. (b/333957914)
  • Yeni platform API'lerine erişim, AGP 7.3 veya sonraki sürümlerle (ör. R8 3.3 sürümü) R8 kullanıldığında ve AGP 8.1 veya sonraki sürümlerle (ör. D8 8.1 sürümü) tüm derlemelerde API modelleme aracılığıyla otomatik olarak gerçekleştiğinden, yeni platform API'lerine erişimin manuel olarak ana hatlarıyla belirtilmesi kaldırıldı. AGP kullanmayan istemcilerin D8 8.1 veya sonraki bir sürüme güncellemeleri önerilir. Daha fazla bilgi için bu makaleye göz atın. (Ia60e0, b/345472586)

Sürüm 2.10.0-alpha02

17 Nisan 2024

androidx.work:work-*:2.10.0-alpha02 yayınlanır. 2.10.0-alpha02 sürümü bu taahhütleri 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)
  • CoroutineWorker işlevinin yürütüldüğü dağıtıcının kontrolü için Configuration.workerCoroutineContext eklendi. WorkManager içinde Dispatchers.Default kullanımının tamamen önlenmesine 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. Koddaki boşluk varsayımlarının yanlış olması durumunda istemcilerin kaynak kodunda değişiklik yapılması gerekebilir. (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

  • Çalışmanın ön plan türü, iptal edilmiş Android 14 ön koşul izinlerine sahipken WorkManager'ün uzun süredir çalışan bir çalışanı (ör. ön plan çalışanı) yeniden başlatmaya çalışması nedeniyle oluşan kilitlenmeyi düzeltin. (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 sürümünden bu yana yapılan ö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 işleyicinin daha önce neden durdurulduğuna dair bir ipucu sağlıyor. getStopReason() yöntemi aracılığıyla çalışandan veya getStopReason() 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, üretimle eşleşen mesaj dizileriyle test edilmesi. ExecutorsMode.PRESERVE_EXECUTORS, Configuration içinde ayarlanan yürütücüleri korumak ve gerçek ana iş parçacığı kullanmak için initializeTestWorkManager içinde kullanılabilir.
  • CoroutineWorker gibi coroutine API'leri, ek yapı work-runtime-ktx'den ana yapı work-runtime'a 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 kapatılabileceğinden, stopReason'ü kullanılabilir bir şekilde raporlamada faydalı olabilir. (I21386)
  • Clock değerinin yapılandırma aracılığıyla ayarlanmasına ve işleyici testlerinin yürütme sıralamasını yönlendirmek için kullanılmasına izin verin. (Ic586e)
  • getStopReason() yöntemi, ListenableWorker işlevine eklendi. Bu yöntem, çalışanın neden durdurulduğuyla ilgili ipucu verir. (I07060)
  • Closeguard'ın sızdırılan kaynaklarla ilgili 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 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 çalışma zamanındaki yapıda kullanılabilir. (I71a9a)
  • Düzenli çalışma programlarının doğru şekilde ayarlanmasına olanak tanıyan setNextScheduleTimeOverride yöntemi eklendi (I3b4da)
  • Planlanmış çalışma süresi bilgilerini almak için getNextScheduleTimeMillis eklendi.WorkInfo (I797e4)
  • İlk gecikme ve dönemsellik bilgileri WorkInfo alanına eklenir. (I52f2f)
  • getWorkInfosByTagFlow, getWorkInfoByIdFlow, getWorkInfosForUniqueWorkFlow, getWorkInfosFlow yöntemleri aracılığıyla akışlar üzerinden çalışanları gözlemleme yöntemi eklendi (If122a)
  • Constraints yapıcı 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 işleyicinin daha önce neden durdurulduğuna dair bir ipucu sağlıyor. getStopReason() yöntemi aracılığıyla çalışandan veya getStopReason() aracılığıyla WorkInfo'ten sorgulanabilir.

API Değişiklikleri

  • stopReason, WorkInfo grubuna eklendi. İşleyici çalıştıktan sonra stopReason değerini kullanılabilir hale getirir. Bir işleyici durdurulduktan sonra uygulamanın kendisi çok hızlı bir şekilde kapatılabileceğinden, stopReason'ü kullanılabilir bir şekilde raporlamada faydalı olabilir. (I21386)
  • Saatin 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)
  • getStopReason() yöntemi, çalışanın neden durdurulduğuyla ilgili ipucu veren ListenableWorker işlevine 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ınlanır. 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. 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, ü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 diğer Kotlin'e özgü yardımcı programlar artık ana work-runtime yapıda kullanılabilir. (I71a9a)
  • Düzenli çalışma programlarının doğru şekilde ayarlanmasına olanak tanıyan setNextScheduleTimeOverride yöntemi eklendi (I3b4da)
  • getEarliestRunTimeMillis, getNextScheduleTimeMillis olarak yeniden adlandırıldı. (I2bd7a)
  • Sonraki planlı çalıştırma zamanı bilgileri WorkInfo alanına eklenir. (I797e4)
  • İlk gecikme ve dönemsellik bilgileri WorkInfo alanına 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)
  • 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.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)

2.8.0 sürümü

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 sürümünden bu yana yapılan önemli değişiklikler

Yeni Özellikler

API Değişiklikleri

  • WorkManager.updateWork, orijinal iş sırasına ekleme zamanını ve zincirlemeyi 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 zamanını 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)
  • setSchedulingExceptionHandler aracılığıyla Consumer<Throwable> sağlayarak planlama istisnalarını durdurma özelliği eklendi.
  • WorkManager'ı başlatmaya çalışırken sorun yaşanıp yaşanmadığı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)
  • getForegroundInfo, Worker listesine eklendi. (Ic1ead)
  • Hem RxJava 2 hem de RxJava 3 için RxWorker artık ListenableFuture döndüren setForegroundInfoAsync yerine 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

  • Açgözlü planlayıcıyla ilgili, yük altındayken işleyicilerin hemen çalışmasını engelleyen 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, esas olarak 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 bilgilerini 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

  • Açgözlü planlayıcıyla ilgili, yük altındayken işleyicilerin hemen çalışmasını engelleyen 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üncellenmişse 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 başlatılmaya çalışırken sorun olup olmadığını belirlemek için kullanılabilecek bir İstisna İşleyen 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

  • WorkRequests öğesini, orijinal sıraya ekleme süresini, zincirleme vb. koruyarak 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ı ve zincirleme işlemi korunarak güncelleme çalışmasına 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 zamanını 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 yaşanan karışıklığı azaltmak 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'den androidx.work:work-runtime'a 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

  • Kotlin kullanıcıları için uygun olan 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)

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)
  • getForegroundInfoWorker'a ekleyin. (Ic1ead)
  • Doğrudan kimliklerden WorkQuery oluşturmak için yardımcı yöntemler WorkQuery.fromIds eklendi. (Ie5bdf, b/199919736)
  • RxWorker artık ListenableFuture döndüren setForegroundInfoAsync yerine kullanılabilecek Completable döndüren setForeground işlevine sahiptir. (I85156)
  • RxJava 2 için RxWorker'da artık ListenableFuture döndüren getForegroundInfoAsync yerine kullanılabilecek Single döndüren getForegroundInfo işlevi vardır. (I21c91, b/203851459)
  • RxJava 3 için RxWorker artık ListenableFuture döndüren getForegroundInfoAsync yerine kullanılabilecek getForegroundInfo döndüren Single değerine sahiptir. (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 hızlandırılmış olarak işaretlendiğinde hemen bir istisna atılır. bef1762

Sürüm 2.7.0

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 bu yana yapılan önemli değişiklikler

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

  • setExpedited(...) kullanıldığında WorkManager, Android 12'den itibaren JobScheduler'da 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 taahhütleri 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ınlanır. 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ğlayın. (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ündeki hata düzeltmelerini de içerir.

Sürüm 2.7.0-alpha04

2 Haziran 2021

androidx.work:work-*:2.7.0-alpha04 yayınlanır.

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ılmaz. Bunlar normal işler haline gelir.

Sürüm 2.7.0-alpha03

21 Nisan 2021

androidx.work:work-*:2.7.0-alpha03 yayınlanır. 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ınlanır. 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 sunar.

    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ıldığında 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 ekleme

Sürüm 2.6.0

2.6.0 sürümü

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 bu yana 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 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.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)

  • Uzaktan bir işleme bağlanabilen RemoteListenableWorker uygulaması olan 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 ile aynıdır.

Sürüm 2.6.0-beta02

21 Temmuz 2021

androidx.work:work-*:2.6.0-beta02 yayınlanır. 2.6.0-beta02 sürümü bu taahhütleri 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 olan bağlamayı doğru şekilde kaldırıyor. Bu sayede RemoteWorkerService doğru şekilde temizlenebiliyor. aosp/1743817
  • ForceStopRunnable artık yalnızca birincil uygulama sürecinde çalışır. Bu bir optimizasyondur ve birden fazla işlem kullanan uygulamalarda kaynak anlaşmazlığını önler. aosp/1749180, aosp/1761729

Sürüm 2.6.0-beta01

2 Haziran 2021

androidx.work:work-*:2.6.0-beta01 yayınlanır. 2.6.0-beta01 sürümü bu taahhütleri 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 işleyici desteği. (Ib6d08)
  • Diğer androidx.startup.Initializer'ların bunları bağımlılık olarak kullanabilmesi için WorkManagerInitializer'yi 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 taahhütleri 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'dan bu yana yapılan önemli değişiklikler

  • Birden fazla işlem kullanan uygulamalar için yeni bir :work:work-multiprocess yapı. Bu sayede, iş isteği planlaması tek bir işlemde birleştirilerek performans kazanımları elde edilir.
    • work-multiprocess özelliğini kullanmak için aşağıdakiler için 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 kullanırken WorkRequest'larınızı yönetmek için RemoteWorkManager'ı da kullanmak istiyorsunuz. RemoteWorkManager her zaman belirtilen işleme ulaşır. İşlem içi planlayı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ırarak 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. Bu süre 1 gün + keepResultsForAtLeast süresi olarak düşürülmüştür. (aosp/1419708)
  • TestListenableWorkerBuilder, testleri kolaylaştırmak için artık ListenableWorker'ü genişleten somut sınıfı destekliyor. (aosp/1443299, b/169787349)
  • WorkManager İnceleyici, Android Studio Arctic Fox sürümünde kullanıma sunuldu.

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 öğeler güncellendikten sonra getWorkInfosLiveData'ün doğru şekilde geçersiz kılınmaması sorunu düzeltildi. (aosp/1540566, b/173769028)
  • Nadir durumlarda veritabanı işlemlerinin başarılı olarak işaretlenmemesine neden olan bir 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 yol açan bir hata düzeltildi. (aosp/1530589)
  • ConstraintTrackingWorker'yi, yalnızca daha önce durdurulmamış bir ListenableWorker'yi durduracak şekilde iyileştirin. (aosp/1496844, b/172946965)
  • androidx.work kitaplıklarını Java 8'i hedefleyecek şekilde güncelleme (Ibd2f2)

Sürüm 2.5.0-beta02

2 Aralık 2020

androidx.work:work-*:2.5.0-beta02 yayınlanır. 2.5.0-beta02 sürümü bu taahhütleri 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 öğelerinin 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. 2.5.0-beta01 sürümü bu taahhütleri 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şlemini dener. (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ığı birkaç sorunu çözmeye yardımcı olur. Örneğin:
    • WorkManager'ın genellikle her uygulama sürecinde başlatılması gerekir. SQLite anlaşmazlığı arttığı ve bu da başka sorunlara neden olduğu için bu durum pek iyi değildir. WorkManager'da artık Configuration#setDefaultProcessName(processName) kullanarak birincil bir uygulama işlemi belirlemek 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).
    • Yeni API'ler: RemoteWorkManager ve RemoteWorkContinuation ile enqueue, cancel ve query iş isteklerine erişim. 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 WorkManager başlatılırken WorkRequest ve JobScheduler işlerinin senkronize olması için işleri proaktif olarak uyumlu hale getiriyor. (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

  • Dahili API'lerde yapılan ve ileride WorkManager ile daha iyi araçlar sunmamıza olanak tanıyan değişiklikler. Gelişmeler 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 taahhütleri 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, uygulama ön plandayken çok daha fazla WorkRequest çalıştırabileceğ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(...) sayfasına bakı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ı bilgi edinebilirsiniz:

    • 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ğı sağlayın. 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ı için izlemeyi platformla daha uyumlu hale getirin. (aosp/1312583)

  • İş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)

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

    • setForegroundAsync() API'lerini kullanırken doğru foregroundServiceType değerinin 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 önce 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ı sorunu 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ığı bir hatayı düzeltme (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 yayınlanır. 2.4.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Ön plandaki Worker kesintiye uğradıktan sonra ForegroundService'ün durdurulmaması sorunu 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 taahhütleri 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 yürütülmesi tamamlandıktan sonra setProgressAsync() çağrılırsa 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 olur ve boşta kalır. Bu nedenle, bu tür istekler beklenenden daha az sıklıkta çalıştırılı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 önce tamamlanmayan setForegroundAsync() çağrıları artık döndürülen ListenableFuture üzerinde bir IllegalStateException aracılığıyla sinyallenecek. (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. 2.4.0-alpha01 sürümü bu taahhütleri 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 gecikmemiş ve kısıtlamaları karşılanmış 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. İşlem içi planlayıcı da planlama sınırlarını gözetmez (ancak yine de WorkManager tarafından kullanılan Executor boyutuyla sınırlıdır). Bu sayede uygulama, ön planda çalışırken çok daha fazla WorkRequest yürütebilir. (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 sayede aşağıdakiler gibi birçok yararlı bilgi edinebilirsiniz:

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

    • setForegroundAsync() API'lerini kullanırken doğru foregroundServiceType değerinin kullanılması. (b/147873061, aosp/1215915)
    • WorkManager'un JobService API'lerini doğrudan kullanırken kullanması gereken JobScheduler kimliklerini belirtme. (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 RxWorker'te setProgress() desteği sonlandı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ınlanır. 2.3.4 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • 10 dakikalık yürütme aralığı aşıldığında uzun süre çalışan Worker'lerin birden çok örneğinin çalıştırılmasına neden olan bir hata düzeltildi. (aosp/1247484, b/150553353)
  • WorkManager'ın IssueRegistry lint hatası düzeltildi. Katkınız 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ınlanır. 2.3.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Worker'ün kesintiye uğraması durumunda doğru şekilde yeniden planlanmaması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 yayınlanır. 2.3.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Nadir durumlarda WorkManager'ın JobScheduler'daki 100 iş sınırını aştığı bir 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)
  • İşçi iptal edildikten sonra uzun süre çalışan işçiler için bildirimlerin iptal yönetimi iyileştirildi. (aosp/1228346)

2.3.1 sürümü

2.3.1 sürümü

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 ilerleme durumu için destek.
  • WorkManager artık kitaplığın bir parçası olarak ek lint kuralları paketliyor. Bu kurallar, hataları erken yakalamanıza yardımcı olur.

Sürüm 2.3.0-rc01

8 Ocak 2020

androidx.work:work-*:2.3.0-rc01 yayınlanır. 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ı artık work-runtime-ktx için bir api bağımlılığı tanımlar. (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'dan 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, önemli bir değişikliktir. Bu sayede, uzun süre çalışan birden fazla Worker'yi paralel olarak çalıştırabilirsiniz. WorkManager, sağlanan Notification'ların kullanım sürelerini 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 yol açan bir hata düzeltildi. (aosp/1156444)
  • Boş bir WorkRequest listesinin yanlış bir WorkContinuation zinciri oluşturulmasına neden olduğu hata düzeltildi. (b/142835274, aosp/1157051)

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

  • WorkManager artık Room 2.2.2 sürümünü kullanıyor.

Sürüm 2.3.0-beta01

20 Kasım 2019

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

Yeni özellikler

  • İsteğe bağlı başlatma kullanılırken androidx.work.Configuration.Provider'ün 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. Bunun 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 setTransactionSuccessful() çağrısının gereksiz yere yapılmasından kaynaklanan bir 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ınlanır. 2.3.0-alpha02 sürümü bu taahhütleri içerir.

Yeni özellikler

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

API değişiklikleri

  • Data içindeki 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'ü de destekler. (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'ler artık setProgressAsync() API aracılığıyla ilerleme durumunu ayarlayabilir. Ayrıca CoroutineWorker'de ilgili bir suspend-ing setProgress API'si ve RxWorker'da Single<Void> döndüren bir setProgress eklendi. Bu yeni API'ler sayesinde işçiler, ilgili bir getProgress API'sine sahip olan WorkInfo üzerinden ilerleme bilgilerini iletebilir. (b/79481554)
  • Data, Worker'lere 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. Bu anahtarlar yalnızca aynı uygulamanın birden fazla işlemi arasında güvenli bir şekilde kullanılabilir.
  • 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 oluşturur. (b/139554406)
  • ListenableFuture iptaliyle ve ListenableWorker'deki onStopped() geri aramasıyla ilgili doküman güncellemeleri. (b/138413671)

Hata düzeltmeleri

  • İşlemdeki planlayıcı artık idle kısıtlaması olan WorkRequest öğelerini yoksayar. Bu istekler artık yalnızca cihaz gerçekten idle olduğunda JobScheduler tarafından alınır. (aosp/1089779)
  • TestScheduler artık testlerde dahili görev yürütücüsü için belirtilen Executor değerini doğru ş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'deki 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'a geri dönmeye devam eder.

Sürüm 2.2.0-rc01

30 Temmuz 2019

androidx.work:work-*:2.2.0-rc01 yayınlanır. 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 hatasına yol açan bir hata düzeltildi. (aosp/1092374) (b/138238197).
  • Bazı cihazlarda JobScheduler API'leri kullanılırken karşılaşılan NullPointerException sorunu için bir 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 sürümünde yanlışlıkla eklenen jacoco 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 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'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'den sonraki önemli değişiklikler

  • work-runtime-ktx için artık Java 8 gereklidir. Sorunla karşılaşırsanız build.gradle dosyanıza aşağıdakileri ekleyebilirsiniz: kotlinOptions { jvmTarget = "1.8" }
  • WorkManager için isteğe bağlı başlatma ö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() 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ı çağırmak 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 kullanıcısına 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 kullandığını ve varsayılan olarak birkaç Kotlin uzantısı içerdiğini unutmayın.
  • WorkInfo için çalıştırma deneme sayısı eklendi. b/127290461
  • Data türleri artık bayt ve bayt dizileri depolayabilir ve alabilir. Bu işlem, Data nesnelerinin maksimum boyutunu DEĞİŞTİRMEYECEKTİR.
  • 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ınlanır. Bu sürüme dahil edilen taahhütleri burada bulabilirsiniz.

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 amaçlı çağrılar eklendi.

Sürüm 2.1.0-alpha03

5 Haziran 2019

androidx.work:*:2.1.0-alpha03 yayınlanır.

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 uygulamasında OEM'ye özgü hataları giderme.
  • AlarmManager tabanlı planlayıcıda, daha önce nadir görülen kilitlenmelere neden olan hizmet süreleriyle ilgili iyileştirmeler. (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 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 kullanıcısına 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ı başlatma ö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() 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ı ç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'ün artık Kotlin'i bağımlılık olarak getirdiğini ancak varsayılan olarak birkaç Kotlin uzantısı da içerdiğini unutmayın.
  • WorkInfo için çalıştırma deneme sayısı eklendi. b/127290461
  • Data türleri artık bayt ve bayt dizileri depolayabilir ve alabilir. Bu işlem, Data nesnelerinin maksimum boyutunu DEĞİŞTİRMEYECEKTİR.
  • 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 değer döndürme 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ümde bazı hata düzeltmeleri yer almaktadır. 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 çalışıyor. b/122553577
  • JobScheduler öncesi API'lerde kısıtlama izlemenin temizlenmemesi nedeniyle ortaya çıkan uç durum kilitlenmesi düzeltildi. b/129226383
  • Uzun iş zincirleriyle ilgili bir StackOverflowError düzeltildi. b/129091233
  • Esnek çalışma saatlerinin API 23'te desteklenmediğini belirtmek için PeriodicWorkRequest dokümanları güncellendi.
  • Kotlin dokümanlarında 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 sürümü yayınlandı. Bu sürüm, 1.0.0 kararlı sürümüyle aynıdır ancak AndroidX bağımlılıkları vardır. Bu sürüm 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üzeltmeleri alır. Tüm etkin geliştirmeler 2.x sürümünü hedefleyecektir.

AndroidX öncesi bağımlılıklar

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

Groovy

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")
}

1.0.1 sürümü

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ümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • Robolectric testleri artık WorkManager ile düzgün çalışıyor. b/122553577
  • JobScheduler öncesi API'lerde kısıtlama izlemenin temizlenmemesi nedeniyle ortaya çıkan uç durum kilitlenmesi 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

  • Worker artık uygulama kilitlendikten sonra doğru şekilde planlanıyor. b/124546316

  • İşaretlenmemiş Exception atan Worker'ler 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 seviyesi 22) veya daha eski 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.
  • WorkManager'ın, AlarmManager tabanlı uygulamayı kullanırken kısıtlamaları doğru şekilde izleyemediği bir durum düzeltildi. b/123379508
  • AlarmManager tabanlı uygulama kullanılırken WorkManager'ın işlem sona erdiğinde işi yeniden denemesi başarısız olduğunda ortaya çıkan bir sorun 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ümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • Bazı durumlarda işin 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, geri çekilme zamanlamasını doğru şekilde dikkate almadığı bir durum düzeltildi. b/122881597
  • Android 5.1 (API 22) veya önceki 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 işletim sistemiyle 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ümde bazı hata düzeltmeleri yer almaktadır.

Hata Düzeltmeleri

  • Android 6.0 (API seviyesi 23) çalıştıran cihazlarda dönemsel çalışmanın aralık başına birden fazla kez çalışabileceği uç durum düzeltildi. b/121998363
  • Android 5.1 (API seviyesi 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ında 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çeriyor.

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 uygulamaların çalışmasını etkileyen bir değişikliktir. b/120564418

Bölünme Oluşturan API Değişiklikleri

  • androidx.work.Result, ListenableWorker sınıfının iç sınıfı olacak şekilde taşındı.

Sürüm 1.0.0-alpha12

5 Aralık 2018

Bu sürüm, bazı önemli API değişiklikleri içerir. Lütfen aşağıdaki Önemli API Değişiklikleri bölümüne bakın. Bu sürümün ilk beta sürümümüz olarak yayınlanması muhtemeldir. alpha12, kapsamlı doküman güncellemeleri de içerir.

API Değişiklikleri

  • Yeni bir yapı olan work-rxjava2, RxWorker özelliğini kullanıma sundu. Bu, Single<Payload> bekleyebilecek 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 alternatif bir seçenek sunmayı 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 olarak sonuç veriyor. Worker'lerde Data çıkışı için alıcı ve ayarlayıcı yöntemleri yok. 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(), 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 API'lerindeki 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 bağımsız değişkenli sürümlerini kullanmaya devam ediyoruz. Bu, önemli 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 daha güvenilir bir şekilde kurtarma işlemi gerçekleştirebilir.
  • observeForever üzerinden gözlemlenen LiveData, WorkManager aracılığıyla izlenir. Bu, Room kitaplığı düzeltmesinin geriye dönük bir taşıması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 şekilde işleyemeyeceğiniz arka plan iş parçacığında gerçekleşiyordu.
  • Ayrıca, durdurulan ve iptal edilen işler arasında ayrım yapılır; getWorkInfoById(), ListenableWorker.onStopped() sırasında CANCELLED State ile bir WorkInfo döndürür.
  • null Result'i ListenableWorker'de hata olarak değerlendirin. b/120362353
  • API 24 çalıştıran ve bazen IllegalArgumentException hatası veren Shield Tablet'ler için 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, beta sürümüne geçiş yaptığımızda work-firebase yapının artık güncellenmeyeceği anlamına gelir. Gelecekte alternatif bir seçenek sunmayı 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 olarak sonuç veriyor. Worker'lerde Data çıkışı için alıcı ve ayarlayıcı yöntemleri yok.
  • 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 API'lerindeki 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 sürümünde kararlı API olacak birçok değişiklik içerir. Bu sürümde, API'de önemli değişiklikler yapılmıştır. Lütfen aşağıdaki API'de önemli değişiklikler bölümüne bakın.

API Değişiklikleri

  • work-runtime-ktx yeni bir CoroutineWorker kullanıma sundu.
  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. Tüm ilgili getStatus yöntem varyantları, ilgili getWorkInfo varyantları olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • ListenableWorker.onStopped() artık kabul etmiyor, WorkRequest'ün 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, önemli bir değişikliktir.
  • androidx.work.test paketi, androidx.work.testing paketi olarak yeniden adlandırıldı. Bu, önemli bir değişikliktir.
  • Constraints üzerindeki ayarlayıcılar artık herkese açık API'nin bir parçası değildir. Bu, önemli bir değişikliktir.
  • WorkerParameters.getTriggeredContentUris() ve WorkerParameters.getTriggeredContentAuthorities() daha önce döndürülmüş dizilerdir. Bu yöntemler artık koleksiyonlar döndürüyor. Bu, önemli 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ılır. 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 eklemek için WorkManager.enqueueUniqueWork() API'yi ekleyin.
  • WorkManager üzerindeki enqueue ve cancel yöntemlerinin tüm varyantları artık yeni bir Operation türü döndürüyor. Bu, önemli bir değişikliktir.
  • enqueue'ün tüm varyantları artık WorkRequest için değişken sayıda bağımsız 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() simgesini kullanabilirsiniz. Bunu, API yüzeyini ve yöntem sayısını azaltmak için yaptık.
  • Artık işlem başına birden fazla kez initialize WorkManager yapmaya çalışmak IllegalStateException ile sonuçlanacaktır. Bu, önemli bir değişikliktir.

Hata Düzeltmeleri

  • work-runtime-ktx yapısındaki WorkRequest.Builder'ler artık ListenableWorker'leri 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ış koşulunu düzeltin. android-workmanager/issues/56 sorunu düzeltildi

Bölünme Oluşturan API Değişiklikleri

  • WorkStatus, WorkInfo olarak yeniden adlandırıldı. Tüm ilgili getStatus yöntem varyantları, ilgili getWorkInfo varyantları olarak yeniden adlandırıldı.
  • ListenableWorker.onStopped() artık kabul etmiyor, WorkRequest'ün 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 enqueue ve cancel yöntemlerinin tüm 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.
  • Artık işlem başına birden fazla kez initialize WorkManager yapmaya çalışmak 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 çalışmayı destekler. Bu sürümde, API'de önemli değişiklikler yapılmıştır. Lütfen aşağıdaki API'de önemli değişiklikler 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 yapılan ve mevcut uygulamaların çalışmasını engelleyen bir değişikliktir.
  • NonBlockingWorker sınıfı ListenableWorker olarak yeniden adlandırıldı. Bu sınıf artık herkese açık ve kullanıma hazır.
    • ListenableWorker, ana iş parçacığında çağrılan ListenableFuture<Payload> onStartWork() adlı soyut bir yönteme erişim sağlar. İşi başlatmak ve aksama olmadan işlemek size bağlıdır. İşlem tamamlandığında ListenableFuture öğesini uygun şekilde güncellemeniz gerekir. ListenableFuture'lerin 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ı.
    • Yakında, Kotlin coroutine'lerini (kararlı sürümler yayınlandıktan sonra) ve RxJava2'yi kullanan ListenableWorker'ler için 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, önemli 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 yapılan ve mevcut uygulamaların çalışmasını engelleyen bir değişikliktir.
    • Artık ListenableFuture kullanarak verileri senkronize olarak alabilir ve gözlemleyebilirsiniz. Örneğin, WorkManager.enqueue() önceden void değerini döndürür iken 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 nesnelerdeki cancel() çağrıları, kafa karıştırıcı ve mantıklı bir şekilde açıklamaları zor oldukları için (operasyonu mu yoksa sonuçta ortaya çıkan çalışmayı mı iptal ediyorsunuz?) yoksayın. 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
  • İşin REPLACE olduğu bir yarış koşulunda olası NullPointerException düzeltildi. b/116253486 ve b/116677275
  • WorkContinuation.combine() artık iki veya daha fazla yerine bir veya daha fazla WorkContinuation kabul ediyor. b/117266752

Bölünme Oluşturan 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 döndürüyor. WorkManager.getStatus*LiveData() LiveData tane iade.

Sürüm 1.0.0-alpha09

19 Eylül 2018

Bilinen Sorun

"'META-INF/proguard/androidx-annotations.pro' işletim sisteminden bağımsız yoluna sahip birden fazla dosya bulundu" sorunuyla karşılaşırsanız alpha10'da sorunu düzeltirken geçici bir çözüm olarak lütfen aşağıdakileri 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 için 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ık içinde garanti sağlar.
  • LiveData değerinin şirket içinde 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'ı gelecekteki sürümlerde API'ye ekleyeceğiz. Bu değişiklik, NonBlockingWorker'ün gizlenmesinin kaldırılmasını destekleyecektir.
  • TestDriver.setInitialDelayMet(UUID) ve TestDriver.setPeriodDelayMet(UUID) aracılığıyla TestDriver'te zamanlanmış çalışmayı tetikleme özelliği eklendi. b/113360060

Zararlı Değişiklikler

  • Varsayılan Worker ve NonBlockingWorker kurucularının desteği sonlandırılıyor. Lütfen en kısa sürede yeni kurucuya geçin. Gelecekteki sürümlerde varsayılan kurucu 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ılmaması için WorkManager bileşenleri doğrudan önyükleme bilinmeyen olarak açıkça etiketlendi. Gelecekte, doğrudan önyükleme bilincine sahip bir WorkManager sürümü sunacağız. b/112665532
  • Yeniden denemeye çalışılan ç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ışıyorken geri çekilme politikaları dikkate alınır.
  • Data içindeki istisna mesajları, sınırın 10 KB olduğunu belirtecek şekilde düzeltildi.
  • JobScheduler işlenmesinin tamamlanmasında yaşanan gecikmeyi hesaba katmak için Configuration.setMaxSchedulerLimit(int) maksimum değerini 50'ye düşürdük. 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 potansiyel bir SQL sorgusu düzeltildi.
  • Yürütülmesi tamamlanan çalışmalar 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'teki bir ConcurrentModificationException düzeltildi. b/112272753
  • Data.getBooleanArray(String) ve Data.getIntArray(String) işlevlerinin dönüş türü ek açıklamaları @NonNull yerine @Nullable olarak değiştirildi. b/112275229

API Değişiklikleri

  • Worker artık yeni bir sınıf olan NonBlockingWorker'u 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

  • İşi planlarken veritabanı kilidini önleme. b/111801342
  • Uyku modundayken PeriodicWork'ün planlandığı gibi çalışmamasına neden olan hata düzeltildi. 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'ü yalnızca buna ihtiyacı olan WorkRequest'ler olduğunda etkinleştirin. b/111765853

Sürüm 1.0.0-alpha05

24 Temmuz 2018

API Değişiklikleri

  • WorkManager.getInstance(), @Nullable yerine @NonNull ile ek açıklamaya sahip. 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() özelliğinin 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şaretledik. Constraints kurucusu, Data.toByteArray() ve Data.fromByteArray(byte[]) bu kapsamdadır. 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 durum 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
  • Bazı olası yarış koşulları ve zamanlama sorunları düzeltildi.
  • 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

Zararlı Değişiklikler

  • WorkManager.getInstance() artık @Nullable yerine @NonNull ile ek açıklamaya sahip.
  • Data.getString() imzasının artık varsayılan değer almaması için imza değiştirildi (örtülü olarak null).
  • Yalnızca şirket içi kullanım için gereken bazı yöntemleri @hide olarak işaretledik. Constraints kurucusu, Data.toByteArray() ve Data.fromByteArray(byte[]) bu kapsamdadır.

Sürüm 1.0.0-alpha04

26 Haziran 2018

Hata Düzeltmeleri

  • AlarmManager tabanlı uygulama kullanılırken PeriodicWorkRequest'ler artık 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ütme 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 yıkıcı veritabanı 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ıldığında 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()'un senkronize 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 durak istendiyse Worker.isStopped() true değerini döndürür. Çalışma açıkça iptal edildiğinde Worker.isCancelled(), true değerini döndürür. b/79632247
  • API 28'de JobParameters#getNetwork() için destek eklendi. Bu, Worker.getNetwork() üzerinden yayınlanır.
  • JobScheduler veya AlarmManager'ye kaç iş gönderilebileceğini zorunlu kılmak için Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit) eklendi. Bu sayede WorkManager, mevcut tüm JobScheduler slotlarınızı alamaz.
  • WorkManager için güvenli bir JobScheduler iş kimliği aralığı tanımlamaya yardımcı olan Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId) eklendi. b/79996760
  • Worker.getRunAttemptCount(), belirli bir Worker için geçerli ç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 almanıza 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() tarihinde NullPointerException sorunu 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 ileti dizisine taşındı.
  • AlarmManager uygulaması, bekleyen tüm işler tamamlandığında artık doğru şekilde temizleniyor.
  • İngilizce olmayan yerel ayarları etkileyen temizleme SQL sorguları düzeltildi. b/80065360
  • Data'te float için destek eklendi. b/79443878
  • Data.Builder.putAll() artık Builder örneğini döndürüyor. b/79699162
  • Dokümanda daha fazla javadoc ve düzeltme. 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, Worker ile ilişkili bir Set etiket döndürür.
  • Süre ve TimeUnit kombinasyonu alan 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ılara verilen destek sonlandırılmıştır ve bu uzantılar 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.