ওয়ার্ক ম্যানেজার
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
30 অক্টোবর, 2024 | 2.9.1 | - | - | - |
নির্ভরতা ঘোষণা করা
WorkManager-এর উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে:
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
Groovy
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 এক্সটেনশন ব্যবহার করার তথ্যের জন্য, ktx ডকুমেন্টেশন দেখুন।
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 2.10
সংস্করণ 2.10.0
30 অক্টোবর, 2024
androidx.work:work-*:2.10.0
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-এ এই কমিটগুলি রয়েছে।
সংস্করণ 2.9.1 থেকে উল্লেখযোগ্য পরিবর্তন
-
WorkManager
থেকে Jobs-এ ট্রেস ট্যাগ যোগ করা হয়েছে যা 'adb shell dumpsys jobscheduler'-কে বোঝার জন্য অনেক সহজ করে তোলে কারণ এতে কার্যকরী কর্মীর নাম থাকবে।WorkManager
এর মূল ক্ষেত্রগুলির চারপাশে ট্রেস বিভাগগুলিও যোগ করা হয়েছে। -
Configuration.workerCoroutineContext
প্রেরক নিয়ন্ত্রণের জন্য যোগ করা হয়েছিল যেখানেCoroutineWorker
কার্যকর করা হয়। - বিকাশকারীরা
Constraints.setRequiredNetworkRequest
পদ্ধতির মাধ্যমে একজন কর্মীর জন্য একটি সীমাবদ্ধতা হিসাবেNetworkRequest
নির্দিষ্ট করতে পারেন। এই কর্মীকে কোন নেটওয়ার্ক চালানো উচিত তার উপর এটি আরও দানাদার নিয়ন্ত্রণ সক্ষম করে৷ -
WorkManager
2.10.0 এখন SDK 35 এর সাথে কম্পাইল করা হয়েছে এবং SDK 35 সামঞ্জস্যের জন্য বিভিন্ন পরিবর্তন রয়েছে৷
সংস্করণ 2.10.0-rc01
অক্টোবর 24, 2024
androidx.work:work-*:2.10.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-rc01-এ এই কমিট রয়েছে।
সংস্করণ 2.10.0-beta01
2 অক্টোবর, 2024
androidx.work:work-*:2.10.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-beta01-এ এই কমিট রয়েছে।
সংস্করণ 2.10.0-alpha04
সেপ্টেম্বর 18, 2024
androidx.work:work-*:2.10.0-alpha04
প্রকাশিত হয়েছে। 2.10.0-alpha04 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- স্টপ কারণ যোগ করুন
STOP_REASON_FOREGROUND_SERVICE_TIMEOUT
যখন একজন ফোরগ্রাউন্ড কর্মী ফোরগ্রাউন্ড পরিষেবার ধরণের উপর ভিত্তি করে এক্সিকিউশন টাইমআউটের কারণে বন্ধ হয়ে যায়। ( Ibd0af )
সংস্করণ 2.10.0-alpha03
4 সেপ্টেম্বর, 2024
androidx.work:work-*:2.10.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha03-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
WorkManager
থেকে Jobs-এ ট্রেস ট্যাগ যোগ করা হয়েছে যা 'adb shell dumpsys jobscheduler'-কে বোঝার জন্য অনেক সহজ করে তোলে কারণ এতে কার্যকরী কর্মীর নাম থাকবে।WorkManager
এর মূল ক্ষেত্রগুলির চারপাশে ট্রেস বিভাগগুলিও যোগ করা হয়েছে।
এপিআই পরিবর্তন
- WorkManager 2.10.0 এখন SDK 35 এর সাথে কম্পাইল করা হয়েছে।
- 'শর্ট সার্ভিস' এবং 'ডেটা সিঙ্ক' টাইপ ফোরগ্রাউন্ড কর্মীদের ঠিক করুন টাইমিং আউট এবং
WorkManager
যখনstopSelf()
কল না করে তখন ANR ঘটায়। এই ফিক্সটি শুধুমাত্র API 34 এবং 35 সহ ডিভাইসগুলিতে প্রযোজ্য যেখানে ফোরগ্রাউন্ড পরিষেবার ধরন চালু করা হয়েছিল। ( ca06b2 , b/364508145 ) - নতুন
WorkerParameters
APIs যেগুলি একটিWorkerFactory
ব্যবহার করার সময়Worker
আবদ্ধ হয় এমন দূরবর্তী প্রক্রিয়াটি পরিবর্তন করা সম্ভব করে৷ ( Ibdc8a , Ie8a90 , I7373f )
বাগ ফিক্স
-
WorkManager
দীর্ঘদিন ধরে চলমান কর্মীকে (যেমন একজন ফোরগ্রাউন্ড কর্মী) পুনরায় চালু করার চেষ্টা করার ফলে সৃষ্ট একটি ক্র্যাশ ঠিক করুন যখন কাজের অগ্রভাগে Android 14 পূর্বশর্ত অনুমতিগুলি প্রত্যাহার করা হয়েছিল। ( b/333957914 ) - নতুন প্ল্যাটফর্ম API-এ অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে যেহেতু AGP 7.3 বা তার পরে (যেমন R8 সংস্করণ 3.3) এবং AGP 8.1 বা তার পরবর্তী (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় R8 ব্যবহার করার সময় এটি স্বয়ংক্রিয়ভাবে API মডেলিংয়ের মাধ্যমে ঘটে। যে সকল ক্লায়েন্ট AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. ( IA60e0 , b/345472586 )
সংস্করণ 2.10.0-alpha02
এপ্রিল 17, 2024
androidx.work:work-*:2.10.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha02-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
WorkManager
এ কনফিগারযোগ্য@RestrictTo
Tracer
মাধ্যমে ট্রেস স্প্যান নির্গত করার ক্ষমতা যোগ করা হয়েছে। ( I17d7f , b/260214125 ) -
Configuration.workerCoroutineContext
প্রেরক নিয়ন্ত্রণের জন্য যোগ করা হয়েছিল যেখানেCoroutineWorker
কার্যকর করা হয়। এটিWorkManager
এDispatchers.Default
এর ব্যবহার সম্পূর্ণরূপে এড়াতে সাহায্য করে। ( Icd1b7 ) - শ্রমিকদের জন্য কাস্টম ব্যতিক্রম হ্যান্ডলার যোগ করুন ( Ib1b74 , b/261190695 )
-
OneTimeWorkRequest.Builder
এবংPeriodicWorkRequest.Builder
এখনClass
এর পরিবর্তেKClass
দিয়ে তৈরি করা যেতে পারে :val request = OneTimeWorkRequest.Builder(Worker::class).setConstraints(...).build()
( Ib55f6 ) -
WorkManager
ক্লাস কোটলিনে স্থানান্তরিত হয়েছে। এখন যে পদ্ধতিগুলিLiveData
,ListenableFuture
বাFlow
ফেরত দেয় সেগুলি সঠিক শূন্যতার তথ্য প্রদান করে। এটির জন্য ক্লায়েন্টদের সোর্স কোডে পরিবর্তনের প্রয়োজন হতে পারে, যদি সেই কোডে বাতিলযোগ্যতা অনুমানগুলি ভুল ছিল। ( if6757 )
সংস্করণ 2.10.0-alpha01
24 জানুয়ারী, 2024
androidx.work:work-*:2.10.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.10.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- বিকাশকারীরা
Constraints.setRequiredNetworkRequest
পদ্ধতির মাধ্যমে একজন কর্মীর জন্য একটি সীমাবদ্ধতা হিসাবেNetworkRequest
নির্দিষ্ট করতে পারেন। এই কর্মীকে কোন নেটওয়ার্ক চালানো উচিত তার উপর এটি আরও দানাদার নিয়ন্ত্রণ সক্ষম করে৷
এপিআই পরিবর্তন
- সীমাবদ্ধতা হিসাবে
NetworkRequest
নির্দিষ্ট করার ক্ষমতা যোগ করা হচ্ছে। ( Id98a1 , b/280634452 )
সংস্করণ 2.9
সংস্করণ 2.9.1
7 আগস্ট, 2024
androidx.work:work-*:2.9.1
প্রকাশিত হয়েছে। সংস্করণ 2.9.1-এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
-
WorkManager
দীর্ঘদিন ধরে চলমান কর্মীকে (যেমন একজন ফোরগ্রাউন্ড কর্মী) পুনরায় চালু করার চেষ্টা করার ফলে সৃষ্ট একটি ক্র্যাশ ঠিক করুন যখন কাজের অগ্রভাগে Android 14 পূর্বশর্ত অনুমতিগুলি প্রত্যাহার করা হয়েছিল। ( b/333957914 )
সংস্করণ 2.9.0
নভেম্বর 29, 2023
androidx.work:work-*:2.9.0
প্রকাশিত হয়েছে। সংস্করণ 2.9.0 এই কমিট ধারণ করে.
2.8.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
-
Flow
-s মাধ্যমে পর্যবেক্ষণযোগ্যতা.LiveData
এর পরিবর্তে, কর্মীদের অগ্রগতি এখনWorkManager.getWorkInfosFlow
এবং অনুরূপ পদ্ধতির মাধ্যমে ফ্লো-এর মাধ্যমে পর্যবেক্ষণ করা যেতে পারে। - এখন
WorkManager
একটি ইঙ্গিত প্রদান করে কেন একজন কর্মীকে আগে থামানো হয়েছিল। এটিgetStopReason()
পদ্ধতির মাধ্যমে অথবাgetStopReason()
মাধ্যমেWorkInfo
থেকে একজন কর্মী থেকে জিজ্ঞাসা করা যেতে পারে। -
setNextScheduleTimeOverride
মাধ্যমে পর্যায়ক্রমিক কর্মীদের সুনির্দিষ্ট সময়সূচী। এটি পরবর্তী পর্যায়ক্রমিক কাজের সময়সূচীর গতিশীল গণনার অনুমতি দেয়, যা অ্যাডাপ্টিভ রিফ্রেশ টাইম, কাস্টম পুনঃপ্রচেষ্টা আচরণ, অথবা ব্যবহারকারীর প্রবাহ ছাড়াই প্রতিদিন সকালে ঘুম থেকে ওঠার আগে একটি নিউজফিড কর্মীকে চালানোর মতো উন্নত বৈশিষ্ট্যগুলি বাস্তবায়ন করতে ব্যবহার করা যেতে পারে।ExistingPeriodicWorkPolicy.UPDATE
এই কৌশলগুলির সাথে ব্যবহার করা উচিত যাতে পরেরটির সময়সূচী করার সময় বর্তমানে চলমান একজন কর্মীকে বাতিল করা এড়াতে হবে৷ - থ্রেডিং ম্যাচিং প্রোডাকশন সহ WorkManager-এর পরীক্ষা।
ExecutorsMode.PRESERVE_EXECUTORS
initializeTestWorkManager
ব্যবহার করা যেতে পারেConfiguration
সেট করা নির্বাহক সংরক্ষণ করতে এবং আসল মূল থ্রেড ব্যবহার করতে। - Coroutines APIs যেমন
CoroutineWorker
অতিরিক্ত আর্টিফ্যাক্ট ওয়ার্ক-রানটাইম-ktx থেকে মূল আর্টিফ্যাক্ট ওয়ার্ক-রানটাইমে সরানো হয়েছে। work-runtime-ktx এখন খালি।
এপিআই পরিবর্তন
-
stopReason
WorkInfo
তে যোগ করা হয়েছে। কর্মী চালানোর পরে এটিstopReason
উপলব্ধ করে। এটি একটি ব্যবহারযোগ্য উপায়ে রিপোর্টিংstopReason
রিজনে সহায়ক হতে পারে, কারণ একবার একজন কর্মীকে থামানো হলে, একটি অ্যাপ নিজেই খুব দ্রুত মারা যেতে পারে। ( I21386 ) -
Clock
কনফিগারেশনের মাধ্যমে সেট করার অনুমতি দিন এবং ওয়ার্কার টেস্টের এক্সিকিউশন সিকোয়েন্সিং চালাতে ব্যবহার করুন। ( Ic586e ) -
getStopReason()
পদ্ধতিListenableWorker
এ যোগ করা হয়েছে যা কর্মীকে কেন থামানো হয়েছিল তা একটি ইঙ্গিত দেয়। ( I07060 ) - ফাঁস হওয়া সংস্থান সম্পর্কে Closeguard-এর সতর্কতা এড়াতে
WorkManagerTestInitHelper#closeWorkDatabase()
যোগ করা হয়েছে। ( IA8d49 ) -
WorkInfo
এর কনস্ট্রাক্টর এখন সর্বজনীন, যা পরীক্ষায় উপযোগী হতে পারে। ( IA00b6 , b/209145335 ) -
work-runtime-ktx
এখন খালি,CoroutineWorker
এবং অন্যান্য Kotlin নির্দিষ্ট ইউটিলিটিগুলি এখন মূল কাজের-রানটাইম আর্টিফ্যাক্টে উপলব্ধ। ( I71a9a ) -
setNextScheduleTimeOverride
পদ্ধতি যোগ করা হয়েছে, যা পর্যায়ক্রমিক কাজের সময়সূচী ( I3b4da ) সঠিক সেটিং করতে দেয় - নির্ধারিত রান টাইম তথ্য পেতে
getNextScheduleTimeMillis
যোগ করা হয়েছেWorkInfo
তে যোগ করা হয়েছে। ( I797e4 ) -
WorkInfo
প্রাথমিক বিলম্ব এবং পর্যায়ক্রমিক তথ্য যোগ করা হয়। ( I52f2f ) - যোগ করা পদ্ধতি কর্মীদের পর্যবেক্ষণ করে ফ্লোসের মাধ্যমে মেথড
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - অনুপস্থিত
@RequiresApi(...)
টীকা যোগ করা হয়েছেConstraints
এর কনস্ট্রাক্টর এবং বৈশিষ্ট্যে। তারা এখনConstraints.Builder
এ সেটারের সংশ্লিষ্ট টীকাগুলির সাথে সারিবদ্ধ হয়েছে যাWorkManager
এর প্রথম সংস্করণ থেকে বিদ্যমান ছিল। ( I6d7d2 ) -
WorkManager
এখন কন্টেন্ট ইউআরআই কর্মীদের জন্য একটি আলাদা সীমা রয়েছে যাতে তারাJobScheduler
এ গ্যারান্টিযুক্ত স্লট দিতে পারে যাতে উচ্চ লোডের অধীনে সামগ্রীর আপডেটগুলি হারিয়ে না যায়৷ সীমাটিConfiguration.Builder.setContentUriTriggerWorkersLimit
এর মাধ্যমে কনফিগার করা যেতে পারে। ( IC128f ) -
WorkInfo
সীমাবদ্ধতা যোগ করা হয়েছে। ( I162c0 )
সংস্করণ 2.9.0-rc01
18 অক্টোবর, 2023
androidx.work:work-*:2.9.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-rc01-এ এই কমিট রয়েছে।
- শেষ বিটা রিলিজ থেকে কোন পরিবর্তন
সংস্করণ 2.9.0-beta01
6 সেপ্টেম্বর, 2023
androidx.work:work-*:2.9.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
WorkInfo.stopReason
এবংListenableWorker.stopReason
( I0cc00 ) দ্বারা প্রত্যাবর্তিত স্টপ কারণের জন্য ধ্রুবক যোগ করা হয়েছে
সংস্করণ 2.9.0-alpha02
জুলাই 26, 2023
androidx.work:work-*:2.9.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- এখন
WorkManager
একটি ইঙ্গিত প্রদান করে কেন একজন কর্মীকে আগে থামানো হয়েছিল। এটিgetStopReason()
পদ্ধতির মাধ্যমে অথবাgetStopReason()
মাধ্যমেWorkInfo
থেকে একজন কর্মী থেকে জিজ্ঞাসা করা যেতে পারে।
এপিআই পরিবর্তন
-
stopReason
WorkInfo
তে যোগ করা হয়েছে। কর্মী দৌড়ানোর পরে এটিstopReason
উপলব্ধ করে। এটি ব্যবহারযোগ্য উপায়ে রিপোর্টিংstopReason
রিজনে সহায়ক হতে পারে, কারণ একবার একজন কর্মীকে থামানো হলে, একটি অ্যাপ নিজেই খুব দ্রুত মারা যেতে পারে। ( I21386 ) - ক্লককে কনফিগারেশনের মাধ্যমে সেট করার অনুমতি দিন এবং ওয়ার্কার টেস্টের এক্সিকিউশন সিকোয়েন্সিং চালাতে ব্যবহার করুন। ( Ic586e )
-
getStopReason()
পদ্ধতিListenableWorker
এ যোগ করা হয়েছে যা কর্মীকে কেন থামানো হয়েছিল তা একটি ইঙ্গিত দেয়। ( I07060 ) - ফাঁস হওয়া সংস্থান সম্পর্কে Closeguard-এর সতর্কতা এড়াতে
WorkManagerTestInitHelper#closeWorkDatabase()
যোগ করা হয়েছে। ( IA8d49 )
বাগ ফিক্স
-
TestDriver
ব্যবহার করেoverrideNextScheduleTime
বাইপাস করার ক্ষমতা যুক্ত করা হয়েছে এবং পরীক্ষাযোগ্যতার সাথে সমস্যাগুলি সমাধান করা হয়েছে। ( IC2905 )
সংস্করণ 2.9.0-alpha01
7 জুন, 2023
androidx.work:work-*:2.9.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.9.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
Flow
-s মাধ্যমে পর্যবেক্ষণযোগ্যতা.LiveData
এর পরিবর্তে, কর্মীদের অগ্রগতি এখনWorkManager.getWorkInfosFlow
এবং অনুরূপ পদ্ধতির মাধ্যমে ফ্লো-এর মাধ্যমে পর্যবেক্ষণ করা যেতে পারে। -
setNextScheduleTimeOverride
মাধ্যমে পর্যায়ক্রমিক কর্মীদের সুনির্দিষ্ট সময়সূচী। এটি পরবর্তী পর্যায়ক্রমিক কাজের সময়সূচীর গতিশীল গণনার অনুমতি দেয়, যা অ্যাডাপ্টিভ রিফ্রেশ টাইম, কাস্টম পুনঃপ্রচেষ্টা আচরণ, অথবা ব্যবহারকারীর প্রবাহ ছাড়াই প্রতিদিন সকালে ঘুম থেকে ওঠার আগে একটি নিউজফিড কর্মীকে চালানোর মতো উন্নত বৈশিষ্ট্যগুলি বাস্তবায়ন করতে ব্যবহার করা যেতে পারে।ExistingPeriodicWorkPolicy.UPDATE
এই কৌশলগুলির সাথে ব্যবহার করা উচিত যাতে পরেরটির সময়সূচী করার সময় বর্তমানে চলমান একজন কর্মীকে বাতিল করা এড়াতে হবে৷ - থ্রেডিং ম্যাচিং প্রোডাকশন সহ
WorkManager
এর পরীক্ষা।ExecutorsMode.PRESERVE_EXECUTORS
Configuration
সেট করা নির্বাহক সংরক্ষণ করতে এবং আসল প্রধান থ্রেড ব্যবহার করতে ব্যবহার করা যেতে পারে। - Coroutines APIs যেমন
CoroutineWorker
অতিরিক্ত আর্টিফ্যাক্টwork-runtime-ktx
থেকে মূল আর্টিফ্যাক্টwork-runtime
সরানো হয়েছে।work-runtime-ktx
এখন খালি।
এপিআই পরিবর্তন
-
WorkInfo
এর কনস্ট্রাক্টর এখন সর্বজনীন, এটি পরীক্ষায় কার্যকর হতে পারে। ( IA00b6 , b/209145335 ) -
work-runtime-ktx
এখন খালি,CoroutineWorker
এবং অন্যান্য kotlin নির্দিষ্ট ইউটিলিটিগুলি এখন মূলwork-runtime
আর্টিফ্যাক্টে উপলব্ধ। ( I71a9a ) -
setNextScheduleTimeOverride
পদ্ধতি যোগ করা হয়েছে, যা পর্যায়ক্রমিক কাজের সময়সূচী ( I3b4da ) সঠিক সেটিং করতে দেয় -
getEarliestRunTimeMillis
নাম পরিবর্তন করেgetNextScheduleTimeMillis
করা হয়েছে। ( I2bd7a ) - পরবর্তী নির্ধারিত রান টাইম তথ্য
WorkInfo
এ যোগ করা হয়। ( I797e4 ) -
WorkInfo
প্রাথমিক বিলম্ব এবং পর্যায়ক্রমিক তথ্য যোগ করা হয়। ( I52f2f ) - যোগ করা পদ্ধতি কর্মীদের পর্যবেক্ষণ করে ফ্লোসের মাধ্যমে মেথড
getWorkInfosByTagFlow
,getWorkInfoByIdFlow
,getWorkInfosForUniqueWorkFlow
,getWorkInfosFlow
( If122a ) - অনুপস্থিত
@RequiresApi(...)
টীকা যোগ করা হয়েছে Constraints এর কনস্ট্রাক্টর এবং বৈশিষ্ট্যে। তারা এখনConstraints.Builder
এ সেটারের সংশ্লিষ্ট টীকাগুলির সাথে সারিবদ্ধ হয়েছে যাWorkManager
এর প্রথম সংস্করণ থেকে বিদ্যমান ছিল। ( I6d7d2 ) -
WorkManager
এখন কন্টেন্ট ইউআরআই কর্মীদের জন্য একটি আলাদা সীমা রয়েছে যাতে তারাJobScheduler
এ গ্যারান্টিযুক্ত স্লট দিতে পারে যাতে উচ্চ লোডের অধীনে সামগ্রীর আপডেটগুলি হারিয়ে না যায়৷Configuration.Builder.setContentUriTriggerWorkersLimit
এর মাধ্যমে সীমা কনফিগার করা যেতে পারে। ( IC128f ) -
WorkInfo
সীমাবদ্ধতা যোগ করা হয়েছে। ( I162c0 )
সংস্করণ 2.8
সংস্করণ 2.8.1
22 মার্চ, 2023
androidx.work:work-*:2.8.1
প্রকাশিত হয়েছে। সংস্করণ 2.8.1 এই কমিট ধারণ করে.
বাগ ফিক্স
-
RescheduleReceiver
এ স্থির ANR যা আগে দুটি একযোগে সম্প্রচার সঠিকভাবে পরিচালনা করেনি। ( b/236906724 )
সংস্করণ 2.8.0
ফেব্রুয়ারী 8, 2023
androidx.work:work-*:2.8.0
প্রকাশিত হয়েছে। সংস্করণ 2.8.0 এই কমিট ধারণ করে.
2.7.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
নতুন বৈশিষ্ট্য
- একটি অ-অনুপ্রবেশকারী উপায়ে
WorkRequests
আপডেট করার ক্ষমতা যোগ করা হয়েছে, মূল সারিবদ্ধ সময় সংরক্ষণ, চেইনিং ইত্যাদি। এই বৈশিষ্ট্য সম্পর্কে বিস্তারিত ব্লগপোস্ট দেখুন, সেইসাথেWorkManager.updateWork
এবংExistingPeriodicWorkPolicy.UPDATE
এর জন্য আরও বিশদ বিবরণের জন্য javadocs দেখুন।
এপিআই পরিবর্তন
-
WorkManager.updateWork
এর মূল সারিবদ্ধ সময় এবং চেইনিং সংরক্ষণ করে আপডেট করার জন্য যুক্ত করা হয়েছে।( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
যোগ করা হয়েছে৷ এই নীতি নাম অনুসারে একটি পর্যায়ক্রমিক কাজ আপডেট করার অনুমতি দেয়। এটি বিদ্যমানREPLACE
এর অনুরূপ, কিন্তু এটি কম অনুপ্রবেশকারী: এটি বর্তমানে চলমান থাকলে এটি কোনও কর্মীকে বাতিল করে না এবং এটি সারিবদ্ধ সময় সংরক্ষণ করে - প্রাথমিক বিলম্ব এবং সময়কাল আপডেটের সময়ের পরিবর্তে মূল সারিবদ্ধ সময় থেকে গণনা করা হয়। REPLACE নামকREPLACE
এবংUPDATE
মধ্যে একটি বিভ্রান্তি কমাতেREPLACE
অবমূল্যায়ন করা হয়েছিল। আপনি যদি এখনওREPLACE
এর আগের শব্দার্থ রাখতে চান, তাহলে নতুন যোগ করাCANCEL_AND_REENQUEUE
, যাREPLACE
এর অনুরূপ, ব্যবহার করা যেতে পারে৷ ( I985ed , b/219446409 ) - setSchedulingExceptionHandler- এর মাধ্যমে
Consumer<Throwable>
প্রদান করার সময়সূচী ব্যতিক্রমগুলিকে আটকানোর ক্ষমতা যুক্ত করা হয়েছে ) - WorkManager আরম্ভ করার চেষ্টা করার সময় সমস্যা ছিল কিনা তা নির্ধারণ করতে setInitializationExceptionHandler- এর মাধ্যমে
Consumer<Throwable>
প্রদান করার ক্ষমতা যোগ করা হয়েছে। -
OneTimeWorkRequest
এবংPeriodicWorkRequest
এর জন্য ইনলাইন সাহায্যকারীদেরandroidx.work:work-runtime-ktx
থেকেandroidx.work:work-runtime
( I0010f , b/209145335 ) এ সরানো হয়েছে -
WorkQuery.fromIds
,WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
সরাসরিWorkQuery
তৈরি করতে যোগ করা হয়েছে। ( b/199919736 ) ( If48f2 , b/199919736 ) -
Worker
এgetForegroundInfo
যোগ করা হয়েছে। ( IC1ead ) - RxJava 2 এবং RxJava 3 উভয়ের জন্যই
RxWorker
এখনsetForeground
রিটার্নিংCompletable
রয়েছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে - RxJava 2 এবং RxJava 3 উভয়ের জন্য
RxWorker
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( b/203851459 ) - সীমাবদ্ধতাগুলি এখন
Constraints.Builder
ব্যবহার না করে সরাসরি নির্মাণ করা যেতে পারে, যা Kotlin ব্যবহারকারীদের জন্য সুবিধাজনক। ( আইডিসি৩৯০ , বি/১৩৭৫৬৮৬৫৩ ) -
WorkManager
আরম্ভ করা হয়েছে কিনা তা পরীক্ষা করার ক্ষমতা যোগ করা হয়েছে। এছাড়াও,WorkManager
যে কনফিগারেশনের সাথে আরম্ভ করা হয়েছিল সেটি পেতে লাইব্রেরি ডেভেলপারদের জন্য একটি নতুনgetConfiguration()
API যোগ করা হয়েছে। ( I6eff3 , b/212300336 )
বাগ ফিক্স
- লোভী শিডিউলারের সাথে একটি সমস্যা সমাধান করা হয়েছে যা লোডের অধীনে থাকা অবস্থায় কর্মীদের অবিলম্বে দৌড়াতে বাধা দেবে। ( I9686b , b/248111307 )
- API-তে
@RequiresPermission
যোগ করা হয়েছে যার জন্য SDK 33 এবং তার উপরেPOST_NOTIFICATIONS
অনুমতি দিতে হবে। ( IE542e , b/238790278 ) -
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করুন।
সংস্করণ 2.8.0-rc01
7 ডিসেম্বর, 2022
androidx.work:work-*:2.8.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-rc01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- এই রিলিজে কোন নতুন বৈশিষ্ট্য নেই। এটি মূলত একটি সংস্করণ বাম্প
সংস্করণ 2.8.0-beta02
9 নভেম্বর, 2022
androidx.work:work-*:2.8.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
WorkInfo
তে ফিক্সডequals
পদ্ধতি, যা আগে নতুন প্রজন্মের তথ্যকে বিবেচনায় নেয়নি। ( 4977cc )
সংস্করণ 2.8.0-beta01
5 অক্টোবর, 2022
androidx.work:work-*:2.8.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-beta01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- লোভী শিডিউলারের সাথে একটি সমস্যা সমাধান করা হয়েছে যা লোডের অধীনে থাকা অবস্থায় কর্মীদের অবিলম্বে দৌড়াতে বাধা দেবে। ( I9686b , b/248111307 )
সংস্করণ 2.8.0-alpha04
7 সেপ্টেম্বর, 2022
androidx.work:work-*:2.8.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha04 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
-
WorkerInfo.getGeneration()
এবংWorkerParameters.getGeneration()
যোগ করা হয়েছে যা একজন শ্রমিকের প্রজন্ম ফিরিয়ে দেয়। একজন কর্মীর একাধিক প্রজন্ম আছে, যদি এটিWorkManager.updateWork
বাWorkManager.enqueueUniquePeriodicWork
এর মাধ্যমেExistingPeriodicWorkPolicy.UPDATE
ব্যবহার করে আপডেট করা হয়। মনে রাখবেন যে কর্মী বর্তমানে চলমান থাকলে, এই পদ্ধতির দ্বারা বর্তমান চলমান কর্মী থেকে একটি নতুন প্রজন্ম ফিরিয়ে আনা সম্ভব যদি কর্মীকে কার্যকর করার সময় একটি আপডেট ঘটে থাকে। ( I665c5 , b/219446409 ) ( I128a9 , b/219446409 ) -
InitializationExceptionHandler
যোগ করা হয়েছে, একটি ব্যতিক্রম হ্যান্ডলার যাWorkManager
আরম্ভ করার চেষ্টা করার সময় সমস্যা ছিল কিনা তা নির্ধারণ করতে ব্যবহার করা যেতে পারে। ( I061de )
সংস্করণ 2.8.0-alpha03
10 আগস্ট, 2022
androidx.work:work-*:2.8.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- একটি অ-অনুপ্রবেশকারী উপায়ে
WorkRequests
আপডেট করার ক্ষমতা যোগ করা হয়েছে, মূল সারিবদ্ধ সময় সংরক্ষণ করা, চেইন করা ইত্যাদি। আরও বিস্তারিত জানার জন্যWorkManager.updateWork
এবংExistingPeriodicWorkPolicy.UPDATE
দেখুন।
এপিআই পরিবর্তন
-
WorkManager.updateWork
এর মূল সারিবদ্ধ সময় এবং চেইনিং সংরক্ষণ করে আপডেট করার জন্য যুক্ত করা হয়েছে।( I9a248 , b/219446409 ) -
ExistingPeriodicWorkPolicy.UPDATE
যোগ করা হয়েছে৷ এই নীতি নাম দ্বারা একটি পর্যায়ক্রমিক কাজ আপডেট করার অনুমতি দেয়। এটি বিদ্যমানREPLACE
এর অনুরূপ, কিন্তু এটি কম অনুপ্রবেশকারী: এটি বর্তমানে চলমান থাকলে এটি কোনও কর্মীকে বাতিল করে না এবং এটি সারিবদ্ধ সময় সংরক্ষণ করে - প্রাথমিক বিলম্ব এবং সময়কাল আপডেটের সময়ের পরিবর্তে মূল সারিবদ্ধ সময় থেকে গণনা করা হয়। REPLACE নামকREPLACE
এবংUPDATE
মধ্যে একটি বিভ্রান্তি কমাতেREPLACE
অবমূল্যায়ন করা হয়েছে। আপনি যদি এখনওREPLACE
এর আগের শব্দার্থ রাখতে চান, তাহলে নতুন যোগ করাCANCEL_AND_REENQUEUE
, যাREPLACE
এর অনুরূপ, ব্যবহার করা যেতে পারে৷ ( I985ed , b/219446409 ) - একটি
SchedulingExceptionHandler
সংজ্ঞায়িত করে সময়সূচী ব্যতিক্রমগুলিকে বাধা দেওয়ার ক্ষমতা যোগ করুন। ( I033eb ) -
OneTimeWorkRequest
এবংPeriodicWorkRequest
এর জন্য ইনলাইন সাহায্যকারীদেরandroidx.work:work-runtime-ktx
থেকেandroidx.work:work-runtime
( I0010f , b/209145335 ) এ সরানো হয়েছে
বাগ ফিক্স
- API-তে
@RequiresPermission
যোগ করা হয়েছে যার জন্য SDK 33 এবং তার উপরে POST_NOTIFICATIONS অনুমতি দিতে হবে। ( IE542e , b/238790278 )
সংস্করণ 2.8.0-alpha02
6 এপ্রিল, 2022
androidx.work:work-*:2.8.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha02 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- সীমাবদ্ধতাগুলি এখন বিল্ডার ব্যবহার করার পরিবর্তে সরাসরি নির্মাণ করা যেতে পারে, যা কোটলিন ব্যবহারকারীদের জন্য সুবিধাজনক। ( আইডিসি৩৯০ , বি/১৩৭৫৬৮৬৫৩ )
-
WorkManager
আরম্ভ করা হয়েছে কিনা তা পরীক্ষা করার ক্ষমতা যোগ করা হয়েছে। এছাড়াও,WorkManager
যে কনফিগারেশনের সাথে আরম্ভ করা হয়েছিল সেটি পেতে লাইব্রেরি ডেভেলপারদের জন্য একটি নতুনgetConfiguration()
API যোগ করা হয়েছে। ( I6eff3 , b/212300336 )
সংস্করণ 2.8.0-alpha01
জানুয়ারী 12, 2022
androidx.work:work-*:2.8.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.8.0-alpha01 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- সাহায্যকারী পদ্ধতি
WorkQuery.fromStates
,WorkQuery.fromUniqueWorkNames
,WorkQuery.fromTags
সরাসরি WorkQuery তৈরি করতে যোগ করা হয়েছে৷ ( If48f2 , b/199919736 ) - ভবিষ্যতের SDK-এর জন্য পরীক্ষামূলক BuildCompat পদ্ধতি যোগ করে ( Iafd82 , b/207528937 )
-
Worker
এgetForegroundInfo
যোগ করুন। ( IC1ead ) - সাহায্যকারী পদ্ধতি
WorkQuery.fromIds
থেকে সরাসরি WorkQuery তৈরি করতে যোগ করা হয়েছে। ( Ie5bdf , b/199919736 ) - RxWorker-এ এখন
setForeground
রিটার্নিংCompletable
আছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I85156 ) - RxJava 2-এর জন্য RxWorker-এর কাছে এখন
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I21c91 , b/203851459 ) - RxJava 3-এর জন্য RxWorker-এর কাছে এখন
getForegroundInfo
রিটার্নিংSingle
রয়েছে যাgetForegroundInfoAsync
এর পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I1ca8a ) - RxWorker-এ এখন
setForeground
রিটার্নিংCompletable
আছে যাsetForegroundInfoAsync
পরিবর্তে ব্যবহার করা যেতে পারে যাListenableFuture
প্রদান করে। ( I992a3 , b/203851459 )
বাগ ফিক্স
-
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করুন। ( I77e63 )
সংস্করণ 2.7
সংস্করণ 2.7.1
17 নভেম্বর, 2021
androidx.work:work-*:2.7.1
প্রকাশিত হয়েছে। সংস্করণ 2.7.1 এই কমিট ধারণ করে.
বাগ ফিক্স
-
suspendCancellableCoroutine
ব্যবহার করার সময়CoroutineScope
এ বাতিলকরণগুলিListenableFuture
এ প্রচার করা হয়। ( I77e63 ) - বিলম্বিত কাজের অনুরোধগুলিকে ত্বরান্বিত হিসাবে চিহ্নিত করা হলে একটি ব্যতিক্রম অবিলম্বে নিক্ষেপ করা হয়। bef1762
সংস্করণ 2.7.0
13 অক্টোবর, 2021
androidx.work:work-*:2.7.0
প্রকাশিত হয়েছে। সংস্করণ 2.7.0 এই কমিট ধারণ করে.
2.6.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
WorkManager Android 12-এ ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাথে সাহায্য করার জন্য একটি নতুন
WorkRequest.Builder.setExpedited(...)
API প্রবর্তন করেছে৷setExpedited(...)
ব্যবহার করার সময়, WorkManager Android 12 থেকে শুরু করে JobScheduler-এ ত্বরান্বিত চাকরির জন্য অর্পণ করে, যখন একটি ফোরগ্রাউন্ড পরিষেবাতে অর্পণ করে Android এর পূর্ববর্তী সংস্করণগুলিতে পিছনের সামঞ্জস্য প্রদান করে।
সংস্করণ 2.7.0-rc01
29 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-rc01-এ এই কমিট রয়েছে।
এই সংস্করণটি androidx.work:work-*:2.7.0-beta01
এর অনুরূপ।
সংস্করণ 2.7.0-beta01
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.7.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-beta01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- WorkManager আরম্ভ করার সময় মাল্টি-প্রসেস SQLite বিরোধ কমিয়ে দিন।
এপিআই পরিবর্তন
- Android 12 (S) এর জন্য অন্তর্নিহিত প্ল্যাটফর্ম API গুলিকে স্থিতিশীল বলে
@ExperimentalExpeditedWork
APIগুলি সরান৷ ( aosp/1792806 )
বাগ ফিক্স
- ত্বরান্বিত কর্মীদের জন্য একটি ভাল ত্রুটি বার্তা প্রদান করুন যারা
getForegroundInfoAsync()
বাস্তবায়ন করে না। ( aosp/1809376 )
সংস্করণ 2.7.0-alpha05
জুলাই 21, 2021
androidx.work:work-*:2.7.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha05 এই কমিট ধারণ করে।
এই রিলিজে WorkManager 2.6.0-beta02
রিলিজের বাগ ফিক্সও রয়েছে।
সংস্করণ 2.7.0-alpha04
2 জুন, 2021
androidx.work:work-*:2.7.0-alpha04
প্রকাশিত হয়েছে।
এই রিলিজে 2.6.0-beta01 রিলিজের পরিবর্তনও রয়েছে।
এপিআই পরিবর্তন
-
ListenableWorker.setForegroundAsync()
আর অবহেলিত নয়। - আমরা যখন সম্ভব হলে
WorkRequest.Builder.setExpedited(...)
API ব্যবহার করার পরামর্শ দিই। যখন অ্যাপটি ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাপেক্ষে নয় এমন পরিস্থিতিতে আরও ভাল সমর্থন করার জন্য, বিকাশকারীরাListenableWorker.setForegroundAsync()
API ব্যবহার করতে পারেন। - যদি
ListenableWorker.setForegroundAsync()
কল করা হয়, যখন অ্যাপটি ফোরগ্রাউন্ড পরিষেবা বিধিনিষেধের সাপেক্ষে, এটি ForegroundServiceStartNotAllowedException নিক্ষেপ করবে।
বাগ ফিক্স
- যখন ত্বরান্বিত কাজগুলি পুনর্নির্ধারণ করা হয়, তখন সেগুলি আর ত্বরান্বিত হয় না। তারা নিয়মিত চাকরিতে পরিণত হয়।
সংস্করণ 2.7.0-alpha03
21 এপ্রিল, 2021
androidx.work:work-*:2.7.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
WorkManager
2.6.0-alpha02
থেকে : কর্মীদের জন্য সমর্থন যোগ করে যেগুলি যেকোনো প্রক্রিয়ায় চলতে পারে। ( আইএএফ২০০ )WorkManager
2.6.0-alpha02
থেকে : একটিRemoteCoroutineWorker
যোগ করা হয়েছে যাRemoteListenableWorker
এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
এপিআই পরিবর্তন
- WorkManager
2.6.0-alpha02
থেকে :TEMPORARILY_UNMETERED
নেটওয়ার্ক সীমাবদ্ধতার জন্য সমর্থন যোগ করা হয়েছে। ( I08d5e ) - WorkManager
2.6.0-alpha02
থেকে :setProgressAsync()
এর জন্য মাল্টি-প্রসেস কর্মী সমর্থন। ( Ib6d08 ) - WorkManager
2.6.0-alpha02
থেকে :WorkManagerInitializer
সর্বজনীন করুন যাতে অন্যান্যandroidx.startup.Initializer
গুলি এগুলিকে নির্ভরতা হিসাবে ব্যবহার করতে পারে৷ ( I5ab11 )
সংস্করণ 2.7.0-alpha02
10 মার্চ, 2021
androidx.work:work-*:2.7.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha02 এই কমিট ধারণ করে।
বাগ ফিক্স
- Android 12 টার্গেট করার সময় একটি ক্র্যাশ ঠিক করতে
PendingIntent
পরিবর্তনযোগ্যতাকে স্পষ্ট করুন। ( b/180884673 )
সংস্করণ 2.7.0-alpha01
18 ফেব্রুয়ারি, 2021
androidx.work:work-*:2.7.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 2.7.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
Android 12-এ অগ্রভাগের পরিষেবার বিধিনিষেধগুলি বিবেচনায় নেওয়ার জন্য WorkManager একটি নতুন
WorkRequest.Builder.setExpedited(...)
API প্রবর্তন করেছে৷ব্যাকগ্রাউন্ডে থাকাকালীন অ্যাপ্লিকেশনগুলি আর ফোরগ্রাউন্ড পরিষেবা চালু করতে পারে না। অতএব, দীর্ঘস্থায়ী কাজকে আরও ভালভাবে সমর্থন করার জন্য যা পূর্বে একটি ফোরগ্রাউন্ড পরিষেবার জীবনচক্রের সাথে আবদ্ধ ছিল, অ্যাপ্লিকেশনগুলি
WorkRequest
গুলিকে ত্বরান্বিত হিসাবে চিহ্নিত করতে পারে৷এই API হল
setForegroundAsync(...)
/setForeground(...)
API-এর প্রতিস্থাপন যা এখন অবচ্যুত ।setExpedited(...)
ব্যবহার করার সময়, WorkManager Android 12 থেকে শুরু করেJobScheduler
এ ত্বরান্বিত চাকরির জন্য অর্পণ করে, যখন Android এর পূর্ববর্তী সংস্করণগুলিতে অগ্রভাগের পরিষেবাগুলি অর্পণ করে পিছনের দিকে সামঞ্জস্য প্রদান করে,
এপিআই পরিবর্তন
- দ্রুত
WorkRequest
জন্য সমর্থন যোগ করুন।
সংস্করণ 2.6.0
সংস্করণ 2.6.0
1 সেপ্টেম্বর, 2021
androidx.work:work-*:2.6.0
প্রকাশিত হয়েছে। সংস্করণ 2.6.0 এই কমিট ধারণ করে.
2.5.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
WorkManager এখন WorkManager আরম্ভ করতে
androidx.startup
ব্যবহার করে। আপনি যদিtools:node="remove"
ব্যবহার করেনContentProvider
পূর্বে WorkManager শুরু করার জন্য ব্যবহার করা হচ্ছে, তাহলে আপনাকে এর পরিবর্তে নিম্নলিখিতটি করতে হবে।<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" />
যে কোনো প্রক্রিয়ায় চলতে পারে এমন কর্মীদের জন্য সমর্থন যোগ করা হয়েছে। ( আইএএফ২০০ )
একটি
RemoteCoroutineWorker
যোগ করা হয়েছে যা RemoteListenableWorker এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
সংস্করণ 2.6.0-rc01
4 আগস্ট, 2021
androidx.work:work-*:2.6.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-rc01-এ এই কমিট রয়েছে।
এই সংস্করণটি androidx.work:work-*:2.6.0-beta02
এর অনুরূপ।
সংস্করণ 2.6.0-beta02
জুলাই 21, 2021
androidx.work:work-*:2.6.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
RemoteWorkManager
এখন সঠিকভাবেRemoteWorkManagerService
থেকে আনবাইন্ড করে যাRemoteWorkManagerService
সঠিকভাবে পরিষ্কার করতে দেয়। aosp/1730694 -
RemoteListenableWorker
এখনRemoteWorkerService
থেকে সঠিকভাবে আনবাইন্ড করে যাRemoteWorkerService
সঠিকভাবে পরিষ্কার করতে দেয়। aosp/1743817 -
ForceStopRunnable
এখন শুধুমাত্র প্রাথমিক অ্যাপ প্রক্রিয়ায় চলে। এটি একটি অপ্টিমাইজেশান, এবং একাধিক প্রক্রিয়া ব্যবহার করে এমন অ্যাপগুলির জন্য সংস্থান বিবাদ এড়িয়ে যায়। aosp/1749180 , aosp/1761729
সংস্করণ 2.6.0-beta01
2 জুন, 2021
androidx.work:work-*:2.6.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-beta01-এ এই কমিট রয়েছে।
এই রিলিজে কিছু ছোটখাটো ডকুমেন্টেশন উন্নতি রয়েছে। রিলিজটি মূলত 2.6.0-alpha02 এর সাথে সমান।
সংস্করণ 2.6.0-alpha02
21 এপ্রিল, 2021
androidx.work:work-*:2.6.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 2.6.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
কর্মীদের জন্য সমর্থন যোগ করে যা যেকোনো প্রক্রিয়ায় চলতে পারে। ( আইএএফ২০০ )
একটি
RemoteCoroutineWorker
যোগ করা হয়েছে যাRemoteListenableWorker
এর একটি বাস্তবায়ন যা একটি দূরবর্তী প্রক্রিয়ার সাথে আবদ্ধ হতে পারে। ( I30578 )
এপিআই পরিবর্তন
-
TEMPORARILY_UNMETERED
নেটওয়ার্ক সীমাবদ্ধতার জন্য সমর্থন যোগ করা হয়েছে। ( I08d5e ) -
setProgressAsync()
এর জন্য মাল্টি-প্রসেস কর্মী সমর্থন। ( Ib6d08 ) -
WorkManagerInitializer
সর্বজনীন করুন যাতে অন্যান্যandroidx.startup.Initializer
গুলি এগুলিকে নির্ভরতা হিসাবে ব্যবহার করতে পারে৷ ( I5ab11 )
সংস্করণ 2.6.0-alpha01
24 মার্চ, 2021
androidx.work:work-*:2.6.0-alpha01
প্রকাশিত হয়েছে। 2.6.0-alpha01 সংস্করণে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
WorkManager
এখন WorkManager আরম্ভ করতেandroidx.startup
ব্যবহার করে। পূর্বে, এটিandroidx.work.impl.WorkManagerInitializer
দ্বারা করা হয়েছিল। ( aosp/1608813 )আপনি যদি
tools:node="remove"
ব্যবহার করেনContentProvider
অতীতে প্রসেস লাইফসাইকেল শুরু করার জন্য ব্যবহার করা হচ্ছে, তাহলে আপনাকে এর পরিবর্তে নিম্নলিখিতটি করতে হবে।<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>
(বা)
<!-- If you want to disable android.startup completely. --> <provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" tools:node="remove"> </provider>
এপিআই পরিবর্তন
- একটি
Result.getOutputData()
API যোগ করুন যা ListenableWorker এরoutputData
প্রদান করে। ( IE51e3 )
বাগ ফিক্স
- একটি OEM বাগের জন্য একটি সমাধান যোগ করুন যার ফলে
AlarmManager
API ব্যবহার করার সময় একটিSecurityException
নিক্ষেপ করা হয়। ( aosp/1587518 )
সংস্করণ 2.5.0
সংস্করণ 2.5.0
জানুয়ারী 27, 2021
androidx.work:work-*:2.5.0
প্রকাশিত হয়েছে। সংস্করণ 2.5.0 এই কমিট ধারণ করে.
2.4.0 থেকে প্রধান পরিবর্তন
- একাধিক প্রক্রিয়া ব্যবহার করে এমন অ্যাপগুলির জন্য একটি নতুন
:work:work-multiprocess
artifact৷ এটি একটি একক প্রক্রিয়ায় কাজের অনুরোধের সময়সূচীকে একীভূত করার মাধ্যমে কর্মক্ষমতা লাভের পরিচয় দেয়।-
work-multiprocess
ব্যবহার করতে, এর উপর নির্ভরতা নির্ধারণ করুন:implementation "androidx.work:work-multiprocess:2.5.0"
- Configuration.Builder.setDefaultProcessName(String) ব্যবহার করে একটি প্রাথমিক প্রক্রিয়া নির্ধারণ করুন।
-
work-multiprocess
ব্যবহার করার সময় আপনি আপনারWorkRequest
গুলি পরিচালনা করতে RemoteWorkManager ব্যবহার করতে চান। RemoteWorkManager সর্বদা মনোনীত প্রক্রিয়ায় পৌঁছায়। ইন-প্রসেস সিডিউলারও নির্ধারিত প্রক্রিয়ায় চলে।
-
- কখনও কখনও,
ActivityManager
একটি কাজ শুরু করার জন্যJobService
ইন্সট্যান্স ইনস্ট্যান্ট করতে পারে না। এটি একটি প্ল্যাটফর্ম বাগের কারণে অন্তর্নিহিত কাজটি নীরবে বাদ দেয়।WorkManager
এখন নিশ্চিত করে যে প্রতিটিWorkRequest
জন্য ব্যাকিং জব আছে যখন চাকরির সমন্বয় করে একটিApplication
শুরু করা হচ্ছে। এটি ব্যাপকভাবে কাজ সম্পাদন নির্ভরযোগ্যতা উন্নত. ( b/172475041 , aosp/1489577 ) -
WorkManager
একটিWorkRequest
সম্পূর্ণ হওয়ার পরWorkRequest
গুলি ট্র্যাক করা বাফার সময়কাল কমিয়ে ডাটাবেসের বৃদ্ধি সীমিত করে। সময়কাল ছিল7
দিন আগে. এটি কমিয়ে1
দিন করা হয়েছে + KeepResultsForAtLeast সময়কাল। ( aosp/1419708 ) -
TestListenableWorkerBuilder
এখন পরীক্ষাকে সহজ করার জন্যListenableWorker
প্রসারিত রিফাইড ক্লাস সমর্থন করে। ( aosp/1443299 , b/169787349 ) - Android Studio Arctic Fox ব্যবহার করার সময় WorkManager পরিদর্শক এখন উপলব্ধ।
সংস্করণ 2.5.0-rc01
13 জানুয়ারী, 2021
androidx.work:work-*:2.5.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
WorkQuery
ভিত্তিক API ব্যবহার করার সময় সত্তা আপডেট করার পরেgetWorkInfosLiveData
সঠিকভাবে অবৈধ না হওয়া একটি বাগ সংশোধন করা হয়েছে। ( aosp/1540566 , b/173769028 ) - একটি বাগ সংশোধন করা হয়েছে যেখানে কিছু বিরল ক্ষেত্রে ডাটাবেস লেনদেন সফল হিসাবে চিহ্নিত করা হচ্ছে না। এটি কিছু Motorola ডিভাইসে সমস্যার সৃষ্টি করে। ( aosp/1535368 , b/175944460 )
- একটি মৃত প্রক্রিয়া থেকে আবদ্ধ করার চেষ্টা করার সময়
NoSuchElementException
উপেক্ষা করার জন্য একটি বাগ সংশোধন করা হয়েছে৷ ( aosp/1530589 ) - শুধুমাত্র একটি
ListenableWorker
বন্ধ করতেConstraintTrackingWorker
উন্নত করুন যদি এটি ইতিমধ্যে বন্ধ করা না হয়। ( aosp/1496844 , b/172946965 ) - Java 8 টার্গেট করতে androidx.work লাইব্রেরি আপডেট করুন ( Ibd2f2 )
সংস্করণ 2.5.0-beta02
2 ডিসেম্বর, 2020
androidx.work:work-*:2.5.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-beta02 এই কমিট ধারণ করে।
বাগ ফিক্স
-
androidx.work:work-multiprocess
এ একটি বাগ সংশোধন করা হয়েছে যেখানে নির্ধারিত প্রক্রিয়ার সাথে আবদ্ধ করার চেষ্টা করার সময় WorkManager অসাবধানতাবশত কলিং থ্রেডটি ব্লক করেছে। ( aosp/1475538 ) - একটি বাগ সংশোধন করা হয়েছে যেখানে
PeriodicWorkRequest
গুলি সঠিকভাবে মিলিত হচ্ছে না। ( b/172475041 , aosp/1489577 ) -
setForeground*
API ব্যবহার করার সময় ফোরগ্রাউন্ড পরিষেবা বন্ধ করার সময় একটি প্ল্যাটফর্ম বাগের জন্য একটি সমাধান যোগ করা হয়েছে। ( b/170924044 , aosp/1489901 )
সংস্করণ 2.5.0-beta01
অক্টোবর 28, 2020
androidx.work:work-*:2.5.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 2.5.0-beta01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
WorkManager
স্বয়ংক্রিয়ভাবেWorkRequest
এর সংখ্যা থ্রোটল করে যা ইন-প্রসেস শিডিউলার দ্বারা বাছাই করা যেতে পারে। অনুরোধগুলি এখনও FIFO আদেশে কার্যকর করা হয়। ( aosp/1455228 ) - যখন অ্যাপ্লিকেশনের ডেটাস্টোর খারাপ অবস্থায় থাকে তখন
WorkManager
পুনরুদ্ধার করার চেষ্টা করে। ( aosp/1463103 )
বাগ ফিক্স
- যখন
ListenableWorker
গুলিকে বাধা দেওয়া হয়, তখনই তাদেরENQUEUED
চিহ্নিত করুন যাতে তারা পরবর্তীতে পুনরায় নির্ধারিত হতে পারে। ( aosp/1455618 , b/170273988 )
সংস্করণ 2.5.0-alpha03
অক্টোবর 14, 2020
androidx.work:work-*:2.5.0-alpha03
প্রকাশিত হয়েছে। 2.5.0-alpha03 সংস্করণে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
TestListenableWorkerBuilder
এবংTestWorkerBuilder
কাঁচা প্রকার ব্যবহার করে না। ( I883ad , b/169787349 )
বাগ ফিক্স
- ডিফল্ট অ্যাপ প্রক্রিয়ার নাম নির্ধারণ করতে
ApplicationInfo
ব্যবহার করুন। ( b/168716641 , aosp/1429950 ) -
RemoteWorkManager
এবংRemoteWorkContinuation
জন্য দৃশ্যমানতার নিয়ম ঠিক করুন। এই APIগুলিকে আর@Restricted
হিসাবে চিহ্নিত করা হয় না। ( aosp/1432091 ) - প্রোগুয়ার্ড বিধিগুলির জন্য ঠিক করুন
:work:work-multiprocess
। ( এওএসপি/1432091 ) - অগ্রভাগের পরিষেবাতে আবদ্ধ দীর্ঘ চলমান কাজের জন্য বিজ্ঞপ্তি লাইফসাইকেলগুলি উন্নত করুন। ( বি/168502234 , এওএসপি/1431331 )
সংস্করণ 2.5.0-আলফা 02
16 সেপ্টেম্বর, 2020
androidx.work:work-*:2.5.0-alpha02
-*:2.5.0-ALPHA02 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-ALPHA02 এর মধ্যে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
-
WorkInfo
এস ক্যোয়ারী করতেid
এস ব্যবহার করতে সক্ষম হতে ওয়ার্ককোয়ারিতে একটি এপিআই যুক্ত করুন। ( এওএসপি/1412372 , বি/157335295 ) - ওয়ার্কম্যানেজার আরও ভাল অ্যাপ্লিকেশনগুলিকে সমর্থন করে যা একটি নতুন শিল্পকর্মের সাথে একাধিক প্রক্রিয়া ব্যবহার করে (
androidx.work:work-multiprocess:*
: ওয়ার্ক-মাল্টিপ্রোসেস :*)। এই নতুন শিল্পকর্মটি কয়েকটি সমস্যা সমাধান করতে সহায়তা করে যা বড় অ্যাপ্লিকেশনগুলির মুখোমুখি হয়:- ওয়ার্কম্যানেজারকে সাধারণত প্রতিটি অ্যাপ্লিকেশন প্রক্রিয়াতে আরম্ভ করা দরকার। এটি দুর্দান্ত নয় কারণ এখানে এসকিউএলাইট বিতর্ক বৃদ্ধি পেয়েছে যা ফলস্বরূপ অন্যান্য সমস্যার কারণ হয়। ওয়ার্কম্যানেজারের কাছে এখন নতুন এপিআই রয়েছে যা
Configuration#setDefaultProcessName(processName)
ব্যবহার করে একটি প্রাথমিক অ্যাপ্লিকেশন প্রক্রিয়া নির্ধারণ করতে ব্যবহার করা যেতে পারে।processName
একটি সম্পূর্ণরূপে যোগ্য প্রক্রিয়া নাম যা দেখতেpackageName:processName
(যেমনcom.example:remote
) এর মতো দেখায়। - নতুন এপিআইগুলির একটি সেট:
RemoteWorkManager
এবংRemoteWorkContinuation
enqueue
,cancel
এবং কাজের অনুরোধগুলিquery
জন্য। এই এপিআইগুলিতে একাধিক প্রক্রিয়া জুড়ে স্ক্লাইট বিতর্ক এড়াতেLiveData
ভেরিয়েন্টগুলি অন্তর্ভুক্ত নয় ।enqueue
,cancel
এবংquery
সমস্ত কল এইডএল ব্যবহার করে একটিprimary
অ্যাপ্লিকেশন প্রক্রিয়াতে ফরোয়ার্ড করা হয় এবং একটি সাবলীলListenableFuture
ফেরত দেয়। ( এওএসপি/1392657 , এওএসপি/1411210 , এওএসপি/1412215 , এওএসপি/1417713 )
- ওয়ার্কম্যানেজারকে সাধারণত প্রতিটি অ্যাপ্লিকেশন প্রক্রিয়াতে আরম্ভ করা দরকার। এটি দুর্দান্ত নয় কারণ এখানে এসকিউএলাইট বিতর্ক বৃদ্ধি পেয়েছে যা ফলস্বরূপ অন্যান্য সমস্যার কারণ হয়। ওয়ার্কম্যানেজারের কাছে এখন নতুন এপিআই রয়েছে যা
এপিআই পরিবর্তন
- ওয়ার্কম্যানেজার এখন ছাঁটাই করে
WorkRequest
এস সম্পন্ন করেছেন যা আরও আক্রমণাত্মকভাবে কোনও অসম্পূর্ণ নির্ভরতা নেই। বাফারের সময়কাল7
দিন থেকে1
দিনে পরিবর্তিত হয়েছিল। ( এওএসপি/1419708 )
বাগ ফিক্স
- ওয়ার্কম্যানেজার এখন সক্রিয়ভাবে চাকরিগুলির সাথে মিলিত হয় তাই
WorkManager
আরম্ভ করার সময়WorkRequest
এস এবংJobScheduler
জবগুলি সিঙ্কে থাকে। ( এওএসপি/1412794 , বি/166292069 )
সংস্করণ 2.5.0-আলফা 01
আগস্ট 19, 2020
androidx.work:work-*:2.5.0-alpha01
-*:2.5.0-ALPHA01 প্রকাশিত হয়েছে। সংস্করণ 2.5.0-ALPHA01 এর মধ্যে এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- অভ্যন্তরীণ এপিআইগুলিতে পরিবর্তনগুলি যা আমাদের
WorkManager
এগিয়ে যাওয়ার সাথে আরও ভাল সরঞ্জাম সরবরাহ করার অনুমতি দেয়। অতিরিক্ত আপডেটের জন্য থাকুন।
বাগ ফিক্স
- কিছু ডিভাইসে নেটওয়ার্ক স্টেট ট্র্যাক করার সময়
SecurityException
এস হ্যান্ডেল করুন। ( এওএসপি/1396969 )
বাহ্যিক অবদান
- জ্যাক সুইয়ার্স ( গিটহাব/43 ) দ্বারা
ArrayCreatingInputMerger
জন্য ডকুমেন্টেশন ঠিক করুন।
সংস্করণ 2.4.0
সংস্করণ 2.4.0
22 জুলাই, 2020
androidx.work:work-*:2.4.0
*: 2.4.0 প্রকাশিত হয়েছে। সংস্করণ 2.4.0 এ এই কমিটস রয়েছে।
২.৩.০ সাল থেকে বড় পরিবর্তন
-
WorkManager
এস ইন-প্রসেস শিডিয়ুলার এখন আরও সক্ষম। পূর্বে, ইন-প্রসেসScheduler
কেবলমাত্র কার্যকর করার কাজ বিবেচনা করবে যা দেরি হয়নি এবং কার সীমাবদ্ধতা পূরণ হয়েছিল। এখন, ইন-প্রসেস শিডিয়ুলারWorkRequest
এস ট্র্যাক করে যা ভবিষ্যতে পর্যায়ক্রমিক ওয়ার্কক্রিকোয়েস্টস সহ কার্যকর করা যেতে পারে। ইন-প্রসেসScheduler
সময়সূচী সীমা পর্যবেক্ষণ করে না (তবে এখনও ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
আকারের মধ্যে সীমাবদ্ধ)। এর অর্থ হ'ল অ্যাপ্লিকেশনটি যখন অগ্রভাগে থাকে তখন অ্যাপ্লিকেশনটি এখন আরও অনেক বেশি ওয়ার্করেকুয়েস্টগুলি কার্যকর করতে পারে। অগ্রভাগে বিলম্বিত কাজের সম্পাদন পরিচালনা করতে,WorkManager
একটি নতুন কনফিগারযোগ্যRunnableScheduler
পরিচয় করিয়ে দেয়। ( এওএসপি/1185778 ) - ওয়ার্কম্যানেজার এখন rxjava 3 সমর্থন করে 3 rxjava 3 ব্যবহার করতে আপনার নিম্নলিখিত নির্ভরতা অন্তর্ভুক্ত করা উচিত:
implementation "androidx.work:work-rxjava3:2.4.0"
। ( এওএসপি/1277904 ) -
WorkQuery
ব্যবহার করেWorkInfo
এস এর জন্য জিজ্ঞাসা করার ক্ষমতা যুক্ত করেছে। এটি কার্যকর যখন বিকাশকারীরা একাধিক বৈশিষ্ট্যের সংমিশ্রণেWorkInfo
জিজ্ঞাসা করতে চান। আরও তথ্যের জন্যWorkQuery.Builder.fromStates(...)
,WorkQuery.Builder. fromTags(...)
বাWorkQuery.Builder.fromUniqueWorkNames(...)
থেকে। ( এওএসপি/1253230 , বি/143847546 ) WorkManager
কাছ থেকে ডায়াগনস্টিক তথ্যের জন্য অনুরোধ করার ক্ষমতা যুক্ত করুন:adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
এটি সহ প্রচুর দরকারী তথ্য সরবরাহ করে:
- গত 24 ঘন্টার মধ্যে সম্পন্ন করা ওয়ার্ক রিকোয়েস্টস।
- ওয়ার্ক রিকোয়েস্টস যা বর্তমানে চলছে।
- তফসিলযুক্ত ওয়ার্ক রিকোয়েস্টস। ( এওএসপি/1235501 )
ExistingWorkPolicy.APPEND_OR_REPLACE
যুক্ত করুন যাAPPEND
অনুরূপ, তবে এমন একটি চেইন প্রতিস্থাপন করে যা পূর্বশর্ত বাতিল বা ব্যর্থ হয়েছে। ( খ/134613984 , এওএসপি/1199640 )ভবিষ্যতে কার্যকর করা দরকার এমন ওয়ার্ক রিকোয়েস্টগুলি ট্র্যাক করতে একটি কাস্টম
RunnableScheduler
যুক্ত করার ক্ষমতা সরবরাহ করুন। এটি ইন-প্রসেস শিডিয়ুলার দ্বারা ব্যবহৃত হয়। ( এওএসপি/1203944 )DelegatingWorkerFactory
ওয়ার্কারফ্যাক্টরি ব্যবহার করার সময় প্রতিনিধিদের জন্য গতিশীলভাবে যুক্ত কারখানাগুলি যুক্ত করার জন্য সমর্থন যুক্ত করুন। ( বি/156289105 , এওএসপি/1309745 )প্ল্যাটফর্মের সাথে আরও ঘনিষ্ঠভাবে
BATTERY_NOT_LOW
সীমাবদ্ধতার জন্য ট্র্যাকিং সারিবদ্ধ করুন। ( এওএসপি/1312583 )প্রক্রিয়াটির নাম নির্ধারণের জন্য ইন-প্রসেস শিডিয়ুলার এখন আরও ভাল এপিআই ব্যবহার করে। এটি একাধিক-প্রক্রিয়া ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিকে আরও ভাল সমর্থন করার জন্য দরকারী। ( এওএসপি/1324732 )
নতুন লিন্ট বিধি যা প্রয়োগ করে:
-
setForegroundAsync()
এপিআইএস ব্যবহার করার সময় ডানforegroundServiceType
ব্যবহার করুন। ( বি/147873061 , এওএসপি/1215915 ) - জবস সার্ভিস এপিআইগুলি সরাসরি ব্যবহার করার সময় ওয়ার্কম্যানেজার ব্যবহার করা উচিত এমন জবস্কিডুলার আইডি নির্দিষ্ট করে। এওএসপি/1223567
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা নিশ্চিত করে যে ডিফল্ট
WorkerFactory
ব্যবহার করার সময়ListenableWorker
বাস্তবায়নগুলি এখনpublic
। ( এওএসপি/1291262 )
-
ListenableWorker
সমাপ্তির আগে সম্পূর্ণ না হওয়াsetForegroundAsync()
এর কলগুলি এখন ফিরে আসাListenableFuture
ফিউচারে একটিIllegalStateException
মাধ্যমে সংকেত দেওয়া হবে। ( এওএসপি/1262743 )অগ্রভাগের
Worker
বাধাগ্রস্থ হওয়ার পরেForegroundService
বন্ধ করা হয় না এমন একটি বাগ ঠিক করুন। ( বি/155579898 , এওএসপি/1302153 )এমন একটি বাগ ঠিক করুন যেখানে
WorkManager
একটি অগ্রভাগ পরিষেবাতে আবদ্ধ কোনওWorker
একাধিক উদাহরণ কার্যকর করার চেষ্টা করে ( বি/156310133 , এওএসপি/1309853 )
সংস্করণ 2.4.0-আরসি 01
জুন 24, 2020
androidx.work:work-*:2.4.0-rc01
-*:2.4.0-RC01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-আরসি 01 এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- প্রক্রিয়াটির নাম নির্ধারণের জন্য ইন-প্রসেস শিডিয়ুলার এখন আরও ভাল এপিআই ব্যবহার করে। এটি একাধিক-প্রক্রিয়া ব্যবহার করে এমন অ্যাপ্লিকেশনগুলিকে আরও ভাল সমর্থন করার জন্য দরকারী। ( এওএসপি/1324732 )
সংস্করণ 2.4.0-BETA01
20 মে, 2020
androidx.work:work-gcm:2.4.0-beta01
: 2.4.0-বিটা 01, androidx.work:work-runtime:2.4.0-beta01
. ওয়ার্ক: ওয়ার্ক-রুনটাইম: 2.4.0-বিটা 01, androidx.work:work-runtime-ktx:2.4.0-beta01
. ওয়ার্ক: ওয়ার্ক-রুনটাইম-কেটিএক্স: 2.4.0-বিটা 01, অ্যান্ড্রয়েডএক্স. androidx.work:work-rxjava2:2.4.0-beta01
, এবং androidx.work:work-testing:2.4.0-beta01
-টেস্টিং: 2.4.0-BETA01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-BETA01 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
- অগ্রভাগের
Worker
বাধাগ্রস্থ হওয়ার পরেForegroundService
বন্ধ করা হয় না এমন একটি বাগ ঠিক করুন। ( বি/155579898 , এওএসপি/1302153 ) - এমন একটি বাগ ঠিক করুন যেখানে
WorkManager
একটি অগ্রভাগ পরিষেবাতে আবদ্ধ কোনওWorker
একাধিক উদাহরণ কার্যকর করার চেষ্টা করে ( বি/156310133 , এওএসপি/1309853 ) -
DelegatingWorkerFactory
ওয়ার্কারফ্যাক্টরি ব্যবহার করার সময় প্রতিনিধিদের জন্য গতিশীলভাবে যুক্ত কারখানাগুলি যুক্ত করার জন্য সমর্থন যুক্ত করুন। ( বি/156289105 , এওএসপি/1309745 ) - প্ল্যাটফর্মের সাথে আরও ঘনিষ্ঠভাবে
BATTERY_NOT_LOW
সীমাবদ্ধতার জন্য ট্র্যাকিং সারিবদ্ধ করুন। ( এওএসপি/1312583 )
সংস্করণ 2.4.0-আলফা 03
এপ্রিল 29, 2020
androidx.work:work-*:2.4.0-alpha03
-*:2.4.0-Alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA03 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- ওয়ার্কম্যানেজার এখন আরএক্সজাভা 3 সমর্থন করে 3 আরএক্সজাভা 3 ব্যবহার করতে আপনার নিম্নলিখিত নির্ভরতা অন্তর্ভুক্ত করা উচিত:
implementation "androidx.work:work-rxjava3:2.4.0-alpha03"
। ( এওএসপি/1277904 ) - একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা নিশ্চিত করে যে ডিফল্ট
WorkerFactory
ব্যবহার করার সময়ListenableWorker
বাস্তবায়নগুলি এখনpublic
। ( এওএসপি/1291262 )
এপিআই পরিবর্তন
- কলিং
setProgressAsync()
একজনListenableWorker
কার্যকর করার পরে এখনListenableFuture
মাধ্যমে একটিException
সংকেত দেবে। ( এওএসপি/1285494 ) -
WorkQuery.Builder
এখনfinal
চিহ্নিত। ( এওএসপি/1275037 ) -
WorkQuery.Builder
ফ্যাক্টরি পদ্ধতিগুলিwithStates
ট্যাগস এবংwithTags
withUniqueWorkNames
করা হয়েছে, যথাক্রমেfromStates
,fromTags
এবংfromUniqueWorkNames
থেকে নামকরণ করা হয়েছে। ( এওএসপি/1280287 )
বাগ ফিক্স
- কোনও ডিভাইসের নেটওয়ার্ক অবস্থা ট্র্যাক করার সময়
SecurityException
এক্সসেপশনকে উপেক্ষা করুন। ( খ/153246136 , এওএসপি/1280813 )
সংস্করণ 2.4.0-আলফা 02
এপ্রিল 1, 2020
androidx.work:work-*:2.4.0-alpha02
-*:2.4.0-Alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA02 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট্য
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা সতর্ক করে দেয় যখন
WorkRequest
উভয়Constraints.setRequiresCharging(...)
প্রয়োজনConstraints.setRequiresDeviceIdle(...)
কিছু ডিভাইস একই সাথে চার্জিং এবং অলস হয় না। সুতরাং এই জাতীয় অনুরোধগুলি প্রত্যাশার চেয়ে কম ঘন ঘন চলবে। ( এওএসপি/1253840 )
এপিআই পরিবর্তন
WorkQuery
ব্যবহার করেWorkInfo
এস এর জন্য জিজ্ঞাসা করার ক্ষমতা যুক্ত করেছে। এটি কার্যকর যখন বিকাশকারীরা একাধিক বৈশিষ্ট্যের সংমিশ্রণেWorkInfo
জিজ্ঞাসা করতে চান। আরও তথ্যেরWorkQuery.Builder withTags(...)
WorkQuery.Builder withUniqueWorkNames(...)
দেখুনWorkQuery.Builder withStates(...)
( এওএসপি/1253230 , বি/143847546 )ListenableWorker
সমাপ্তির আগে সম্পূর্ণ না হওয়াsetForegroundAsync()
এর কলগুলি এখন ফিরে আসাListenableFuture
ফিউচারে একটিIllegalStateException
মাধ্যমে সংকেত দেওয়া হবে। ( এওএসপি/1262743 )
বাগ ফিক্স
- লিন্ট নিয়মটি স্থির করে যা
PeriodicWorkRequest
কাজের জন্য অবৈধ বিরতি সময়কালের জন্য পরীক্ষা করে। ( এওএসপি/1254846 , বি/152606442 )
সংস্করণ 2.4.0-আলফা 01
4 মার্চ, 2020
androidx.work:work-*:2.4.0-alpha01
-*:2.4.0-ALPHA01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-ALPHA01 এর মধ্যে এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
WorkManager
এস ইন-প্রসেস শিডিয়ুলার এখন আরও সক্ষম। পূর্বে, ইন-প্রসেস শিডিয়ুলার কেবলমাত্র কার্যকর করার কাজ বিবেচনা করবে যা দেরি হয়নি এবং কার সীমাবদ্ধতা পূরণ হয়েছিল। এখন, ইন-প্রসেস শিডিয়ুলারWorkRequest
এস ট্র্যাক করে যা ভবিষ্যতে কার্যকর করা যেতে পারে,PeriodicWorkRequest
এস সহ। ইন-প্রসেস শিডিয়ুলারও সময়সূচী সীমা পর্যবেক্ষণ করে না (তবে এখনও ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
আকারের মধ্যে সীমাবদ্ধ)। এর অর্থ হ'ল অ্যাপ্লিকেশনটি যখন অগ্রভাগে থাকে তখন অ্যাপ্লিকেশনটি এখন আরও অনেক বেশিWorkRequest
কার্যকর করতে পারে। ( এওএসপি/1185778 )adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>"
ব্যবহার করে ওয়ার্কম্যানেজারের কাছ থেকে ডায়াগনস্টিক তথ্যের জন্য অনুরোধ করার ক্ষমতা যুক্ত করেছে। এটি সহ প্রচুর দরকারী তথ্য সরবরাহ করে:- গত 24 ঘন্টার মধ্যে সম্পন্ন করা ওয়ার্ক রিকোয়েস্টস।
- ওয়ার্ক রিকোয়েস্টস যা বর্তমানে চলছে।
- তফসিলযুক্ত ওয়ার্ক রিকোয়েস্টস। ( এওএসপি/1235501 )
নতুন লিন্ট বিধি যা প্রয়োগ করে:
-
setForegroundAsync()
এপিআইএস ব্যবহার করার সময় ডানforegroundServiceType
ব্যবহার করুন। ( বি/147873061 , এওএসপি/1215915 ) -
JobService
এপিআইগুলি সরাসরি ব্যবহার করার সময়WorkManager
ব্যবহার করা উচিত এমনJobScheduler
আইডি নির্দিষ্ট করে। ( এওএসপি/1223567 )
-
এপিআই পরিবর্তন
ExistingWorkPolicy.APPEND_OR_REPLACE
যুক্ত করুন যাAPPEND
অনুরূপ, তবে এমন একটি চেইন প্রতিস্থাপন করে যা পূর্বশর্ত বাতিল বা ব্যর্থ হয়েছে। ( খ/134613984 , এওএসপি/1199640 )ভবিষ্যতে কার্যকর করা দরকার যা
WorkRequest
ট্র্যাক করতে একটি কাস্টমRunnableScheduler
যুক্ত করার ক্ষমতা সরবরাহ করুন। এটি ইন-প্রসেস শিডিয়ুলার দ্বারা ব্যবহৃত হয়। ( এওএসপি/1203944 )
বাগ ফিক্স
-
RxWorker
অবমূল্যায়িতsetProgress()
কারণ এটি পূর্বে একটিSingle<Void>
> ফিরে এসেছিল যা একটি অসম্ভব প্রকার। একটি নতুন এপিআইsetCompletableProgress()
যুক্ত করেছে যা পরিবর্তে একটিCompletable
ফেরত দেয়; এবং নতুন লিন্ট বিধি যুক্ত করেছে যা নতুন এপিআইগুলিতে স্থানান্তর করতে সহায়তা করে। ( বি/150080946 , এওএসপি/1242665 )
সংস্করণ 2.3.4
সংস্করণ 2.3.4
18 মার্চ, 2020
androidx.work:work-*:2.3.4
*: 2.3.4 প্রকাশিত হয়েছে। সংস্করণ 2.3.4 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- একটি বাগ স্থির করে যা 10 মিনিটের এক্সিকিউশন উইন্ডো ছাড়িয়ে যাওয়ার পরে দীর্ঘ চলমান
Worker
একাধিক উদাহরণ চালানোর কারণ হতে পারে। ( এওএসপি/1247484 , বি/150553353 ) - ওয়ার্কম্যানেজারের লিন্ট
IssueRegistry
জন্য ঠিক করুন। অবদানের জন্য স্ল্যাক থেকে @জ্যাকসওয়ারদের ধন্যবাদ। ( এওএসপি/1217923 )
সংস্করণ 2.3.3
সংস্করণ 2.3.3
4 মার্চ, 2020
androidx.work:work-*:2.3.3
-*:2.3.3 প্রকাশিত হয়েছে। সংস্করণ 2.3.3 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- একটি বাগ ঠিক করা হয়েছে যেখানে যদি কোনও
Worker
বাধা দেওয়া হয় তবে এটি সঠিকভাবে পুনঃনির্ধারিত হবে না। ( বি/150325687 , এওএসপি/1246571 )
সংস্করণ 2.3.2
সংস্করণ 2.3.2
ফেব্রুয়ারী 19, 2020
androidx.work:work-*:2.3.2
*: 2.3.2 প্রকাশিত হয়েছে। সংস্করণ 2.3.2 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- এমন একটি সমস্যা সমাধান করে যেখানে ওয়ার্কম্যানেজার বিরল ক্ষেত্রে জবস্কেডুলারে 100 কাজের সীমা ছাড়িয়ে যায়। ( এওএসপি/1226859 , বি/149092520 )
- সীমাবদ্ধ কন্ট্রোলারগুলিতে একটি রেস শর্তের জন্য ঠিক করুন। ( এওএসপি/1220100 )
- দীর্ঘ চলমান কর্মীদের জন্য ম্যানেজমেন্ট ফোরগ্রাউন্ড সার্ভিস লাইফসাইকেল উন্নত করেছে। ( এওএসপি/1226295 )
- শ্রমিক বাতিলকরণের পরে দীর্ঘস্থায়ী কর্মীদের জন্য বিজ্ঞপ্তি বাতিল করার ব্যবস্থাপনার উন্নতি করেছে। ( এওএসপি/1228346 )
সংস্করণ 2.3.1
সংস্করণ 2.3.1
ফেব্রুয়ারি 5, 2020
androidx.work:work-*:2.3.1
*: 2.3.1 প্রকাশিত হয়েছে। সংস্করণ 2.3.1 এ এই কমিটস রয়েছে ।
বাগ ফিক্স
- অগ্রভাগ
Service
সক্রিয় থাকাকালীন দীর্ঘ চলমানWorker
জন্যNotification
এস এর লাইফসাইকেলটি আরও ভাল পরিচালনা করুন। ( এওএসপি/1218539 , বি/147249312 ) -
WorkManager
এখনandroidx.sqlite:sqlite-framework:2.1.0
স্থিতিশীল। ( এওএসপি/1217729 ) -
ForegroundInfo
-তেforegroundServiceType
এস ব্যবহার করার সময়AndroidManifest.xml
-এ একটিforegroundServiceType
নির্দিষ্ট করা আছে তা নিশ্চিত করার জন্য লিন্ট বিধি যুক্ত করা হয়েছে। ( এওএসপি/1214207 , বি/147873061 )
সংস্করণ 2.3.0
সংস্করণ 2.3.0
জানুয়ারী 22, 2020
androidx.work:work-*:2.3.0
2.3.0-rc01
এর পরে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 2.3.0 এ এই কমিটস রয়েছে ।
2.2.0 সাল থেকে গুরুত্বপূর্ণ পরিবর্তন
-
ListenableWorker#setForegroundAsync()
মাধ্যমে দীর্ঘ চলমান বা গুরুত্বপূর্ণ কাজের জন্য সমর্থন। -
ListenableWorker#setProgressAsync()
মাধ্যমে কর্মীদের অগ্রগতির জন্য সমর্থন। - ওয়ার্কম্যানেজার এখন লাইব্রেরির অংশ হিসাবে অতিরিক্ত লিন্ট বিধিগুলি প্যাকেজ করে যা বাগগুলি তাড়াতাড়ি ধরতে সহায়তা করে।
সংস্করণ 2.3.0-আরসি 01
8 জানুয়ারী, 2020
androidx.work:work-*:2.3.0-rc01
-*:2.3.0-RC01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-আরসি 01 এ এই কমিটগুলি রয়েছে ।
এই প্রকাশটি 2.3.0-beta02
এর সমান
বাগ ফিক্স
-
work-testing
শিল্পকর্মটি এখনwork-runtime-ktx
উপর একটিapi
নির্ভরতা সংজ্ঞায়িত করে। ( এওএসপি/1194410 )
সংস্করণ 2.3.0-BETA02
18 ডিসেম্বর, 2019
androidx.work:work-*:2.3.0-beta02
-*:2.3.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-BETA02 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- অ-পুনরুদ্ধারযোগ্য স্ক্লাইট ব্যতিক্রমগুলির জন্য আরও ভাল ত্রুটি বার্তা যুক্ত করা হয়েছে। ( এওএসপি/1185777 )
- একটি লিন্ট নিয়ম যুক্ত করা হয়েছে যা নিশ্চিত করে যে বিষয়বস্তু সরবরাহকারী
androidx.work.impl.WorkManagerInitializer
চাহিদা সূচনা ব্যবহার করার সময়AndroidManifest.xml
থেকে সরানো হবে। ( এওএসপি/1167007 ) - যখন
enqueue()
enqueueUniquePeriodicWork()
এর পরিবর্তেPeriodicWorkRequest
জন্য ব্যবহৃত হয় তখন একটি লিন্ট সতর্কতা যুক্ত করা হয়েছে। ( এওএসপি/1166032 )
এপিআই পরিবর্তন
-
ForegroundInfo
এখন শ্রবণযোগ্য কর্মী ব্যবহার করার সময় আপনাকেnotificationId
নির্দিষ্ট করতে হবেListenableWorker.setForegroundAsync()
এটি একটি ব্রেকিং পরিবর্তন। এটি আপনাকে সমান্তরালভাবে একাধিক দীর্ঘ চলমানWorker
চালানোর অনুমতি দেয়।WorkManager
প্রদত্তNotification
জীবনকালকে আরও ভাল পরিচালনা করে। ( বি/145473554 , এওএসপি/1181208 , এএসওপি/1181216 , এএসওপি/1183577 )
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার বাস্তবায়নে একটি বাগ স্থির করে যেখানে অ্যালার্মগুলি সঠিকভাবে পরিষ্কার করা হচ্ছে না। ( এওএসপি/1156444 )
- একটি বাগ স্থির করে যেখানে
WorkRequest
এস এর একটি খালি তালিকার একটি ভুলWorkContinuation
চেইন তৈরি করা হবে। ( বি/142835274 , এওএসপি/1157051 )
নির্ভরতা পরিবর্তন
- ওয়ার্কম্যানেজার এখন রুম 2.2.2 ব্যবহার করে।
সংস্করণ 2.3.0-BETA01
নভেম্বর 20, 2019
androidx.work:work-*:2.3.0-beta01
-*:2.3.0-BETA01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-BETA01 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- একটি নতুন লিন্ট বিধি যুক্ত করা হয়েছে যা
androidx.work.Configuration.Provider
-এর ভুল প্রয়োগের কারণে বিকাশকারীদের ত্রুটিগুলি প্রতিরোধ করে। এওএসপি/1164559
সংস্করণ 2.3.0-আলফা 03
23 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha03
-*:2.3.0-Alpha03 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-ALPHA03 এ এই কমিটগুলি রয়েছে ।
নতুন বৈশিষ্ট্য
-
WorkManager.createCancelPendingIntent()
WorkRequest
করা হয়েছেAndroidManifest.xml
এই এপিআইNotification
এস থেকেWorkRequest
এসকে বাতিল করা বিশেষত সহজ করে তোলে। আমরা আশা করি এটি 2.3.0 এ নতুন অগ্রভাগের এপিআইগুলির সাথে জুটিবদ্ধ হবে। - ওয়ার্কম্যানেজার এখন
androidx.room:*:2.2.0
:2.2.0 স্থিতিশীল উপর নির্ভর করে।
এপিআই পরিবর্তন
- অন্তর্নিহিত প্ল্যাটফর্ম এপিআইগুলির সাথে আরও সামঞ্জস্যপূর্ণ হওয়ার জন্য
ForegroundInfo.getNotificationType()
ForegroundInfo.getForegroundServiceType()
এর নামকরণ করা হয়েছে F ( বি/142729893 , এওএসপি/1143316 )
বাগ ফিক্স
- একটি বাগ স্থির করে যা কোনও লেনদেনের বাইরে
setTransactionSuccessful()
এ অপ্রয়োজনীয় কল দ্বারা সৃষ্ট হয়। এটি বিরল মাইগ্রেশনের জন্য ঘটে। ( খ/142580433 , এওএসপি/1141737 )
সংস্করণ 2.3.0-আলফা 02
9 অক্টোবর, 2019
androidx.work:work-*:2.3.0-alpha02
-*:2.3.0-Alpha02 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-ALPHA02 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট্য
- ওয়ার্কম্যানেজার এখন দীর্ঘ চলমান বা গুরুত্বপূর্ণ কাজকে সমর্থন করে যা ওএস দ্বারা জীবিত রাখা উচিত। আরও তথ্যের জন্য
ListenableWorker#setForegroundAsync()
(বা কোটলিনের জন্যCoroutineWorker#setForeground()
) দেখুন। ( এওএসপি/1133636 )
এপিআই পরিবর্তন
-
Data
containsKey
এপিআইটির নামকরণ করা হয়েছেhasKeyWithValueOfType
।ktx
লাইব্রেরিতে সংশ্লিষ্ট এক্সটেনশন পদ্ধতিটিও নামকরণ করা হয়েছে। ( বি/141916545 )
বাগ ফিক্স
- ওয়ার্কম্যানেজার সময়সূচীগুলি মোটামুটিভাবে কাজ করে যখন
WorkRequest
সংখ্যা নির্ধারণের সময়সূচী সীমাগুলির সংখ্যা । ( এওএসপি/1105766 ) - ওয়ার্কম্যানেজার
ListenableWorker#onStopped()
কল করে কেবলমাত্র যদি কাজটি ইতিমধ্যে সম্পন্ন না হয়। ( খ/140055777 ) - ওয়ার্কম্যানেজার এখন অগ্রগতির তথ্য সরিয়ে দেয় যখন কোনও শ্রমিক বাধা হয়ে যায় বা তার টার্মিনাল অবস্থায় পৌঁছায়। ( এওএসপি/1114572 )
-
Data
এখন অনেক বেশি দরকারীtoString()
উপস্থাপনা রয়েছে। ( খ/140945323 ) -
Data
এখন আরও ভালequals()
পদ্ধতি রয়েছে। এটিArray
ধরণের জন্যdeepEquals
সমর্থন করে। ( বি/140922528 ) - ওয়ার্কম্যানেজার এখন তার অভ্যন্তরীণ ডাটাবেস এবং পছন্দসই ফাইলগুলি কোনও ব্যাকআপ ডিরেক্টরিতে সঞ্চয় করে। ( বি/114808216 )
সংস্করণ 2.3.0-Alpha01
22 আগস্ট, 2019
androidx.work:work-*:2.3.September 5, 20190-alpha01
এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
ListenableWorker
এস এখনsetProgressAsync()
এপিআইয়ের মাধ্যমে অগ্রগতি সেট করতে পারে। এছাড়াওCoroutineWorker
একটি সংশ্লিষ্টsuspend
-িংsetProgress
এপিআই এবংRxWorker
একটিsetProgress
যুক্ত করেছেন যা একটিSingle<Void>
প্রদান করে। এই নতুন এপিআই কর্মীরাWorkInfo
মাধ্যমে অগ্রগতি তথ্য জানাতে পারেন যা সম্পর্কিত একটিgetProgress
এপিআই রয়েছে। ( খ/79481554 ) -
Data
একটিcontainsKey()
এপিআই রয়েছে যাWorker
কাছে ইনপুট ডেটা যাচাই করতে ব্যবহার করা যেতে পারে যা প্রত্যাশিত ধরণের সাথে কী রয়েছে। ( বি/117136838 ) -
Data
এখনData.toByteArray()
এবংData.fromByteArray()
ব্যবহার করে সিরিয়ালাইজ করা যেতে পারে। নোট করুন যেData
সহ কোনও সংস্করণ গ্যারান্টি নেই যাতে আপনার এটি চালিয়ে যাওয়া বা অ্যাপ্লিকেশনগুলির মধ্যে আইপিসির জন্য এটি ব্যবহার করা উচিত নয় । এগুলি কেবল একই অ্যাপ্লিকেশনটির একাধিক প্রক্রিয়াগুলির মধ্যে ব্যবহার করা নিরাপদ। -
Configuration.setInputMergerFactory
মাধ্যমে একটিInputMergerFactory
নির্দিষ্ট করার ক্ষমতা যুক্ত করেছে। ( খ/133273159 )
এপিআই পরিবর্তন
- ওয়ার্কম্যানেজার
IllegalStateException
একটি উদাহরণ নিক্ষেপ করবে যদি কোনওWorkerFactory
ListenableWorker
একটি উদাহরণ ফিরিয়ে দেয় যা আগে আহ্বান করা হয়েছে। ( খ/139554406 ) -
ListenableFuture
বাতিলকরণ এবংListenableWorker
মধ্যেonStopped()
কলব্যাকের চারপাশে ডকুমেন্টেশন আপডেটগুলি। ( খ/138413671 )
বাগ ফিক্স
- ইন-প্রসেস শিডিয়ুলার এখন
idle
সীমাবদ্ধতার সাথেWorkRequest
উপেক্ষা করে। এই অনুরোধগুলি এখন কেবল যখন ডিভাইসটিidle
থাকে তখন কেবলJobScheduler
দ্বারা নেওয়া হয়। ( এওএসপি/1089779 ) -
TestScheduler
এখন তার অভ্যন্তরীণ টাস্ক এক্সিকিউটর টেস্টগুলিতে নির্দিষ্টExecutor
সঠিকভাবে ব্যবহার করে। ( এওএসপি/1090749 )
সংস্করণ 2.2.0
সংস্করণ 2.2.0
আগস্ট 15, 2019
androidx.work:work-*:2.2.0
*: 2.2.0 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
এই রিলিজটি androidx.work:work-*:2.2.0-rc01
*: 2.2.0-আরসি 01 এর মতো।
2.1.0 থেকে 2.2.0 এ গুরুত্বপূর্ণ পরিবর্তন
androidx.work:work-gcm:2.2.0
: ওয়ার্ক-জিসিএম:2.2.0 হ'ল একটি নতুন ম্যাভেন আর্টিফ্যাক্ট যা গুগল প্লে পরিষেবাদি এপিআই স্তরের জন্য উপলব্ধ থাকে <= 22 এর জন্য যখন জিসিএমনেট ওয়ার্কম্যানেজারের ব্যবহারকে একটি সময়সূচী হিসাবে ব্যবহার করে <= 22 এটি একটি al চ্ছিক নির্ভরতা যা আরও নির্ভরযোগ্য এবং পারফরম্যান্টে সহায়তা করে পুরানো এপিআই সংস্করণগুলিতে ব্যাকগ্রাউন্ড প্রসেসিং। যদি আপনার অ্যাপ্লিকেশনটি গুগল প্লে পরিষেবাগুলি ব্যবহার করে তবে স্বয়ংক্রিয়ভাবে GCMNETWORKMANAGER সমর্থন পেতে আপনার গ্রেড ফাইলটিতে এই নির্ভরতা যুক্ত করুন। যদি প্লে পরিষেবাগুলি উপলভ্য না হয় তবে ওয়ার্কম্যানেজার পুরানো ডিভাইসে অ্যালার্ম ম্যানেজারে ফিরে যেতে থাকবে।
সংস্করণ 2.2.0-আরসি 01
30 জুলাই, 2019
androidx.work:work-*:2.2.0-rc01
-*:2.2.0-RC01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার বাস্তবায়নে একটি বাগ স্থির করে যা পরিষেবাটি অকাল বন্ধ করে দেয় এবং এর ফলে বিরল ক্ষেত্রে
RejectedExecutionException
ঘটে। ( এওএসপি/1092374 ) ( খ/138238197 )। - কিছু ডিভাইসে
JobScheduler
এপিআই ব্যবহার করার সময় একটিNullPointerException
এক্সসেপশন জন্য একটি কার্যকারণ যুক্ত করা হয়েছে। ( এওএসপি/1091020 ) ( খ/138364061 ), ( খ/138441699 )
সংস্করণ 2.2.0-BETA02
জুলাই 19, 2019
androidx.work:work-*:2.2.0-beta02
-*:2.2.0-beta02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
-
2.2.0-beta01
এ প্রবর্তিত অনিচ্ছাকৃত জ্যাকোকো নির্ভরতা সরানো হয়েছে।
সংস্করণ 2.2.0-BETA01
জুলাই 17, 2019
androidx.work:work-*:2.2.0-beta01
-*:2.2.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট্য
-
androidx.work:work-gcm:2.2.0-beta01
: ওয়ার্ক-জিসিএম:2.2.0-বিটা 01 হ'ল একটি নতুন ম্যাভেন আর্টিফ্যাক্ট যা গুগল প্লে পরিষেবাগুলি এপিআই স্তরের জন্য উপলব্ধ থাকলে জিসিএমনেট ওয়ার্কম্যানেজারকে সময়সূচী হিসাবে ব্যবহারকে সমর্থন করে <= 22 এটি একটি al চ্ছিক নির্ভরতা যা আরও নির্ভরযোগ্য নির্ভরতা যা আরও নির্ভরযোগ্য এবং পুরানো এপিআই সংস্করণগুলিতে পারফরম্যান্ট ব্যাকগ্রাউন্ড প্রসেসিং। যদি আপনার অ্যাপ্লিকেশনটি গুগল প্লে পরিষেবাগুলি ব্যবহার করে তবে স্বয়ংক্রিয়ভাবে GCMNETWORKMANAGER সমর্থন পেতে আপনার গ্রেড ফাইলটিতে এই নির্ভরতা যুক্ত করুন। যদি প্লে পরিষেবাগুলি উপলভ্য না হয় তবে ওয়ার্কম্যানেজার পুরানো ডিভাইসে অ্যালার্ম ম্যানেজারে ফিরে যেতে থাকবে।
বাগ ফিক্স
- এনভিডিয়া শিল্ড কে 1 ট্যাবলেটগুলিতে নেটওয়ার্ক স্টেট ট্র্যাক করার সময়
IllegalArgumentException
জন্য ঠিক করুন। ( এওএসপি/1010188 )
সংস্করণ 2.1.0
সংস্করণ 2.1.0
11 জুলাই, 2019
androidx.work:work-*:2.1.0
: 2.1.0 প্রকাশিত হয়েছে। এই রিলিজটি androidx.work:work-*:2.1.0-rc01
-*:2.1.0-আরসি 01 এর মতো।
2.0.1 থেকে গুরুত্বপূর্ণ পরিবর্তন
-
work-runtime-ktx
এখন জাভা 8 প্রয়োজন। আপনি যদি কোনও সমস্যা নিয়ে যান তবে আপনি নিম্নলিখিতটি আপনারbuild.gradle
যুক্ত করতে পারেনkotlinOptions { jvmTarget = "1.8" }
- ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
- স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন ।
- আপনার কাস্টম
Application
অবজেক্টেConfiguration.Provider
প্রয়োগ করুন। -
WorkManager.getInstance()
এর সমস্ত রেফারেন্সWorkManager.getInstance(Context)
এ পরিবর্তন করুন। এই পরিবর্তনের অংশ হিসাবে, আমরাWorkManager.getInstance()
অবমূল্যায়ন করেছি। নতুনWorkManager.getInstance(Context)
কল করা সর্বদা নিরাপদ।
-
PeriodicWorkRequest
এখন প্রাথমিক বিলম্বকে সমর্থন করে। প্রাথমিক বিলম্ব সেট করতে আপনিPeriodicWorkRequest.Builder
setInitialDelay
পদ্ধতিটি ব্যবহার করতে পারেন। বি/111404867 -
DelegatingWorkerFactory
ব্যবহার করে এক বা একাধিক নিবন্ধিতWorkerFactory
এস -তে প্রতিনিধি করার ক্ষমতা যুক্ত করেছে। বি/131435993 -
Configuration.Builder.setTaskExecutor
মাধ্যমে তার সমস্ত অভ্যন্তরীণ বই-রক্ষণের জন্য ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
কাস্টমাইজ করার ক্ষমতা যুক্ত করেছে। -
work-testing
আর্টিফ্যাক্টেTestWorkerBuilder
এবংTestListenableWorkerBuilder
ব্যবহার করে ইউনিট পরীক্ষামূলকWorker
এবংListenableWorker
ক্লাস তৈরি করার ক্ষমতা যুক্ত করেছে।- নোট করুন যে
work-testing
এখন নির্ভরতা হিসাবে কোটলিনে টানছে এবং ডিফল্টরূপে বেশ কয়েকটি কোটলিন এক্সটেনশন অন্তর্ভুক্ত করে।
- নোট করুন যে
-
WorkInfo
রান প্রচেষ্টা গণনা যুক্ত করা হয়েছে। বি/127290461 -
Data
প্রকারগুলি এখন বাইট এবং বাইট অ্যারে সংরক্ষণ এবং পুনরুদ্ধার করতে পারে। এটিData
অবজেক্টের সর্বাধিক আকার পরিবর্তন করে না। - ওয়ার্কম্যানেজার এখন
Room 2.1.0
উপর নির্ভর করে, যা কিছু ডাটাবেসের সমস্যাগুলি ঠিক করা উচিত।
সংস্করণ 2.1.0-আরসি 01
জুন 27, 2019
androidx.work:work-*:2.1.0-rc01
-*:2.1.0-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- একটি বাগ ঠিক করা হয়েছে যা
JobScheduler
দিয়ে চাকরি কার্যকর করার সময় একটি অ্যাপ্লিকেশন ক্র্যাশ করার কারণ হতে পারে যখন একটি ব্যাকআপ বি/135858602 অগ্রগতিতে ছিল।
সংস্করণ 2.1.0-BETA02
20 জুন, 2019
androidx.work:work-*:2.1.0-beta02
-*:2.1.0-BETA02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
-
TestListenableWorkerBuilder
এখনListenableWorker
উদাহরণ তৈরি করার সময় সঠিকWorkerFactory
ব্যবহার করেন। বি/135275844 - প্রক্রিয়া মৃত্যুর কারণে
WorkRequest
জন্য এক্সিকিউশন উইন্ডোতে প্রবাহের কারণ হয়ে একটি বাগ স্থির করে। বি/135272196
সংস্করণ 2.1.0-BETA01
13 জুন, 2019
androidx.work:work-*:2.1.0-beta01
-*:2.1.0-BETA01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
বাগ ফিক্স
- ওয়ার্কম্যানেজার এখন
Room 2.1.0
উপর নির্ভর করে, যা কিছু ডাটাবেসের সমস্যাগুলি ঠিক করা উচিত। - মূল থ্রেডে কিছু স্টার্টআপ ডিস্ক I/O সরানো হয়েছে।
- সীমাবদ্ধ ট্র্যাকিংয়ে একটি সম্ভাব্য অচলাবস্থা স্থির করে। বি/134361006
- প্রিমিমালিভাবে বাতিল করা অবৈধ কাজগুলি ওয়ার্কম্যানেজারকে দায়ী করা হয়েছে। বি/134058261
- দুর্ব্যবহারের ডিভাইসগুলির জন্য জবসচিডুলার এপিআইগুলিতে কিছু প্রতিরক্ষামূলক কল যুক্ত করেছে।
সংস্করণ 2.1.0-Alpha03
জুন 5, 2019
androidx.work:*:2.1.0-alpha03
:2.1.0-Alpha03 প্রকাশিত হয়েছে।
বাগ ফিক্স
-
PeriodicWorkRequest
এস এর জন্য উন্নত ডকুমেন্টেশন। -
WorkManagerTestInitHelper
এখন পরীক্ষার জন্য সঠিক ব্যাকগ্রাউন্ড এক্সিকিউটার ব্যবহার করে। - কিছু ডিভাইসে বড় লেনদেনের সাথে ডিল করার সময় এসকিউএলআইটি ইস্যুগুলির জন্য সংশোধন করে। ( খ/130182503 )
- ওয়ার্কম্যানেজারের নির্ভরতা এখন আরও দানাদার। ( খ/133169148 )।
- ওয়ার্কম্যানেজার ব্যবহার করে চাকরির সময় নির্ধারণের সময়
JobScheduler
বাস্তবায়নে ওয়ার্কআরাউন্ড ওএম নির্দিষ্ট বাগগুলি। - অ্যালার্ম ম্যানেজার ভিত্তিক শিডিয়ুলারের উন্নতিগুলি পরিষেবা লাইফটাইমগুলির আশেপাশে উন্নতি যা এর আগে বিরল ক্রাশ হয়েছিল। ( খ/133313734 )
সংস্করণ 2.1.0-Alpha02
16 মে, 2019
ওয়ার্কম্যানেজার 2.1.0-ALPHA02 প্রকাশিত হয়েছে। এই সংস্করণে বেশ কয়েকটি নতুন এপিআই রয়েছে।
এপিআই পরিবর্তন
PeriodicWorkRequest
এখন প্রাথমিক বিলম্বকে সমর্থন করে। প্রাথমিক বিলম্ব সেট করতে আপনিPeriodicWorkRequest.Builder
setInitialDelay
পদ্ধতিটি ব্যবহার করতে পারেন। বি/111404867DelegatingWorkerFactory
ব্যবহার করে এক বা একাধিক নিবন্ধিতWorkerFactory
এস -তে প্রতিনিধি করার ক্ষমতা যুক্ত করেছে। বি/131435993Configuration.Builder.setTaskExecutor
মাধ্যমে তার সমস্ত অভ্যন্তরীণ বই-রক্ষণের জন্য ওয়ার্কম্যানেজার দ্বারা ব্যবহৃতExecutor
কাস্টমাইজ করার ক্ষমতা যুক্ত করেছে।WorkRequest.keepResultsForAtLeast
( বি/130638001 ), অন-ডিমান্ড ইনিশিয়ালাইজেশন, এবংPeriodicWorkRequest.Builder
( বি/131711394 ) এর আশেপাশে উন্নত ডকুমেন্টেশন।
সংস্করণ 2.1.0-Alpha01
24 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.1.0-ALPHA01 প্রকাশিত হয়েছে। এই সংস্করণে বেশ কয়েকটি নতুন এপিআই রয়েছে। দয়া করে নোট করুন যে এই সংস্করণটি দিয়ে শুরু করে, এমন নতুন বৈশিষ্ট্য থাকবে যা 1.x রিলিজের ব্যাকপোর্ট করা হবে না। আমরা 2.x এ স্যুইচ করার পরামর্শ দিচ্ছি
এপিআই পরিবর্তন
- ওয়ার্কম্যানেজারের জন্য অন-চাহিদা সূচনা যুক্ত করা হয়েছে, যা কেবলমাত্র রেফারেন্স করার সময় ওয়ার্কম্যানেজার তৈরি করবে। খ/127497100 অন-ডিমান্ড আরম্ভের জন্য আপনার প্রকল্পটি সেট আপ করতে:
- স্বয়ংক্রিয় ইনিশিয়ালাইজারটি অক্ষম করুন ।
- আপনার কাস্টম
Application
অবজেক্টেConfiguration.Provider
প্রয়োগ করুন। -
WorkManager.getInstance()
এর সমস্ত রেফারেন্সWorkManager.getInstance(Context)
এ পরিবর্তন করুন। এই পরিবর্তনের অংশ হিসাবে, আমরাWorkManager.getInstance()
অবমূল্যায়ন করেছি। নতুনWorkManager.getInstance(Context)
কল করা সর্বদা নিরাপদ।
-
work-testing
আর্টিফ্যাক্টেTestWorkerBuilder
এবংTestListenableWorkerBuilder
ব্যবহার করে ইউনিট পরীক্ষামূলকWorker
এবংListenableWorker
ক্লাস তৈরি করার ক্ষমতা যুক্ত করেছে।- নোট করুন যে
work-testing
এখন নির্ভরতা হিসাবে কোটলিনে টানছে, তবে ডিফল্টরূপে বেশ কয়েকটি কোটলিন এক্সটেনশনও অন্তর্ভুক্ত করে।
- নোট করুন যে
-
WorkInfo
রান প্রচেষ্টা গণনা যুক্ত করা হয়েছে। বি/127290461 -
Data
প্রকারগুলি এখন বাইট এবং বাইট অ্যারে সংরক্ষণ এবং পুনরুদ্ধার করতে পারে। এটিData
অবজেক্টের সর্বাধিক আকার পরিবর্তন করে না। - অবমূল্যায়িত
CoroutineWorker.coroutineContext
। এই ক্ষেত্রটি ভুলভাবেCoroutineDispatcher
হিসাবে টাইপ করা হয়েছিল; স্থগিতকরণ ফাংশনের শরীরে আপনি নিজের পছন্দসই কর্সটিনকনটেক্সটে যেতে পারেন বলে আপনার আর এটির দরকার নেই। -
RxWorker.createWork()
এবংRxWorker.getBackgroundScheduler()
এখন@NonNull
রিটার্ন প্রকারের সাথে টীকাযুক্ত।
সংস্করণ 2.0.1
সংস্করণ 2.0.1
9 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.0.1 প্রকাশিত হয়। এই প্রকাশটি 2.0.1-RC01 এর মতো।
সংস্করণ 2.0.1-RC01
3 এপ্রিল, 2019
ওয়ার্কম্যানেজার 2.0.1-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে কিছু বাগ ফিক্স রয়েছে। উত্তরাধিকার 1.x ব্যবহারকারীদের জন্য, এর মধ্যে কয়েকটি পরিবর্তন 1.0.1-RC01 এও উপস্থিত হয়।
বাগ ফিক্স
- রোবোলেক্ট্রিক পরীক্ষাগুলি এখন ওয়ার্কম্যানেজারের সাথে সঠিকভাবে কাজ করে। বি/122553577
- প্রাক-জবস্কেডুলার এপিআইগুলিতে পরিষ্কার না করা সীমাবদ্ধতার সাথে একটি প্রান্ত কেস ক্র্যাশ স্থির করে। বি/129226383
- কাজের দীর্ঘ শৃঙ্খলা নিয়ে কাজ করে এমন একটি
StackOverflowError
স্থির করুন। বি/129091233 - এপিআই 23 এ ফ্লেক্সের সময়টি সমর্থিত নয় তা নির্দেশ করার জন্য
PeriodicWorkRequest
এস এর জন্য আপডেট করা ডকুমেন্টেশন। - কোটলিন ডকুমেন্টেশনে কিছু ভাঙা লিঙ্ক স্থির করেছে।
সংস্করণ 2.0.0
সংস্করণ 2.0.0
20 মার্চ, 2019
ওয়ার্কম্যানেজার 2.0.0 প্রকাশিত হয়। এই সংস্করণটি 2.0.0-আরসি 01 এর মতো এবং অ্যান্ড্রয়েডএক্স নির্ভরতা সহ 1.0.0 স্থিতিশীল অ্যান্ড্রয়েডএক্স সংস্করণ। আমরা উত্তরাধিকার 1.x সংস্করণগুলির পরিবর্তে এই সংস্করণটিকে লক্ষ্য করার পরামর্শ দিই। সমস্ত সক্রিয় বিকাশ 2.x এবং 1.x লক্ষ্য করে কেবল সীমিত সময়ের জন্য সমালোচনামূলক বাগ ফিক্সগুলি গ্রহণ করবে।
সংস্করণ 2.0.0-RC01
7 মার্চ, 2019
ওয়ার্কম্যানেজার 2.0.0-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণটি 1.0.0 স্থিতিশীলতার মতো তবে অ্যান্ড্রয়েডএক্স নির্ভরতা রয়েছে। এটি একবার ২.০.০ স্থিতিশীল পৌঁছে গেলে আপনার এই সংস্করণটি অন্তর্ভুক্ত করা উচিত এবং উত্তরাধিকার ১.x সংস্করণগুলি কেবল কিছু সমালোচনামূলক বাগ ফিক্সগুলি গ্রহণ করবে। সমস্ত সক্রিয় বিকাশ 2.x. লক্ষ্য করবে
প্রাক-অ্যান্ড্রয়েডএক্স নির্ভরতা
রেফারেন্স ডক্স: জাভা
গ্রোভি
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" }
কোটলিন
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
সংস্করণ 1.0.1
9 এপ্রিল, 2019
ওয়ার্কম্যানেজার 1.0.1 প্রকাশিত হয়। এই প্রকাশটি 1.0.1-আরসি 01 এর সমান।
দয়া করে মনে রাখবেন যে আমরা ব্যবহারকারীদের ওয়ার্কম্যানেজার ২.x এ আপডেট করতে দৃ strongly ়ভাবে উত্সাহিত করি, কারণ 1.x শাখায় এগিয়ে যাওয়ার খুব কম আপডেট থাকবে। নতুন এপিআইগুলি 1.x লাইব্রেরির জন্যও প্রকাশ করা হবে না।
সংস্করণ 1.0.1-RC01
2 এপ্রিল, 2019
ওয়ার্কম্যানেজার 1.0.1-আরসি 01 প্রকাশিত হয়েছে। এই সংস্করণে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- রোবোলেক্ট্রিক পরীক্ষাগুলি এখন ওয়ার্কম্যানেজারের সাথে সঠিকভাবে কাজ করে। বি/122553577
- প্রাক-জবস্কেডুলার এপিআইগুলিতে পরিষ্কার না করা সীমাবদ্ধতার সাথে একটি প্রান্ত কেস ক্র্যাশ স্থির করে। বি/129226383
- কাজের দীর্ঘ শৃঙ্খলা নিয়ে কাজ করে এমন একটি
StackOverflowError
স্থির করুন। বি/129091233
সংস্করণ 1.0.0
সংস্করণ 1.0.0
মার্চ 05, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল প্রকাশ। ওয়ার্কম্যানেজারের এই সংস্করণটি 1.0.0-আরসি 02 এর মতো।
সংস্করণ 1.0.0-আরসি 02
21 ফেব্রুয়ারি, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল রিলিজের জন্য দ্বিতীয় প্রকাশের প্রার্থী। এই রিলিজটিতে দুটি বাগ ফিক্স রয়েছে।
বাগ ফিক্স
Worker
এস এখন একটি অ্যাপ্লিকেশন ক্রাশের পরে সঠিকভাবে নির্ধারিত হয়েছে। বি/124546316Worker
যা একটি চেক না করাException
নিক্ষেপ করে এখন সঠিকভাবেFAILED
হিসাবে চিহ্নিত করা হয়েছে এবং অ্যাপ প্রক্রিয়াটি আর ক্র্যাশ করে না।
সংস্করণ 1.0.0-আরসি 01
14 ফেব্রুয়ারি, 2019
এটি ওয়ার্কম্যানেজারের 1.0.0 স্থিতিশীল রিলিজের জন্য রিলিজ প্রার্থী। এই রিলিজটিতে একটি বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন এখন পর্যায়ক্রমিক ওয়ার্করেকুয়েস্টের জন্য
flex
উইন্ডোজকে সঠিকভাবে সম্মান করে। বি/124274584
সংস্করণ 1.0.0-BETA05
ফেব্রুয়ারী 6, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- এমন একটি কেস স্থির করা হয়েছে যেখানে
JobScheduler.getPendingJob(...)
এপিআই 23 এ ব্যবহৃত হয়েছিল বি/123893059 - অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার চেয়ে কম চলমান ডিভাইসগুলিতে একটি
NullPointerException
স্থির করে। বি/123835104
সংস্করণ 1.0.0-BETA04
ফেব্রুয়ারি 4, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়নের জন্য পর্যায়ক্রমিক কাজের উন্নত সময়সূচী।
- এমন একটি কেস স্থির করে যেখানে ওয়ার্কম্যানেজার অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় সঠিকভাবে সীমাবদ্ধতাগুলি ট্র্যাক করতে ব্যর্থ হয়েছিল। বি/123379508
- যখন ওয়ার্কম্যানেজার অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় প্রক্রিয়া মৃত্যুর বিষয়ে কাজ পুনরায় চেষ্টা করতে ব্যর্থ হন তখন একটি মামলা স্থির করে। বি/123329850
- অ্যালার্ম ম্যানেজার ভিত্তিক বাস্তবায়ন ব্যবহার করার সময় ওয়ার্কম্যানেজার ওয়াকলকগুলি ফাঁস করতে পারে এমন একটি কেস স্থির করে।
সংস্করণ 1.0.0-BETA03
25 জানুয়ারী, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- আমরা একটি রিগ্রেশন
1.0.0-beta02
প্রবর্তন করেছি যা কিছু পরিস্থিতিতে সঠিকভাবে কার্যকর না করে কাজ করে যাচ্ছিল। বি/123211993 - এমন একটি মামলা স্থির করা হয়েছে যেখানে কাজটি সঠিকভাবে ব্যাক অফের সময়কে সম্মান করে না। বি/122881597
- অ্যান্ড্রয়েড 5.1 (এপিআই ওআর) বা নিম্নতর চালানো ডিভাইসগুলিতে একটি
ConcurrentModificationException
স্থির করে। এটি1.0.0-beta02
এ ফিক্সের ধারাবাহিকতা। বি/121345393 - যুক্ত হওয়া
exported=false
যা এই টীকাটি অনুপস্থিত ছিল। - ওয়ার্কম্যানেজার কীভাবে প্যাকেজ-স্তরের ডকুমেন্টেশনে ওএসের সাথে ইন্টারঅ্যাক্ট করে সে সম্পর্কে তথ্য অন্তর্ভুক্ত করে।
সংস্করণ 1.0.0-BETA02
15 জানুয়ারী, 2019
এই রিলিজটিতে কিছু বাগ ফিক্স রয়েছে।
বাগ ফিক্স
- একটি প্রান্ত কেস স্থির করে যেখানে পর্যায়ক্রমিক কাজ অ্যান্ড্রয়েড 6.0 (এপিআই স্তর 23) চলমান ডিভাইসে প্রতি বিরতিতে একাধিকবার চলতে পারে। বি/121998363
- অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা তার চেয়ে কম চলমান ডিভাইসগুলিতে একটি
ConcurrentModificationException
স্থির করে। বি/121345393 - অ্যান্ড্রয়েড 5.1 (এপিআই স্তর 22) বা নিম্নমানের ডিভাইসগুলিতে সীমাবদ্ধতাগুলি পূরণ না হলে কাজের স্থির ভুল সম্পাদন। বি/122578012
- কিছু প্রান্তের ক্ষেত্রে দ্রুততর হতে অনুকূলিত কাজের সমাপ্তি হ্যান্ডলিং। বি/122358129
- ওয়ার্কম্যানেজার ব্যবহার করে এমন
LiveData
একাধিক দৃষ্টান্তের মধ্যে সম্ভাব্য রেসের অবস্থার সমাধান করার জন্য একটি পরিবর্তন যুক্ত করা হয়েছে। -
1.1.1-rc01
এর পরিবর্তেRoom
নির্ভরতা1.1.1
ব্যবহার করতে সরানো হয়েছে; এই সংস্করণগুলি অভিন্ন। বি/122578011
সংস্করণ 1.0.0-BETA01
ডিসেম্বর 19, 2018
এই রিলিজটিতে কোনও এপিআই পরিবর্তন নেই; moving forward, WorkManager is expected to stay API stable until the next version unless there is a critical problem. This release contains some bug fixes.
বাগ ফিক্স
- Previously-cancelled children of successfully completed parent work will no longer run. b/120811767
- Properly initialized logging classes (primarily surfaced during tests).
Version 1.0.0-alpha13
ডিসেম্বর 12, 2018
This release contains a minor API change that will be helpful for some Kotlin users.
এপিআই পরিবর্তন
-
androidx.work.Result
has been moved to be an inner class ofListenableWorker
. This prevents refactoring conflicts with Kotlin's top-levelResult
class. This is a breaking API change. b/120564418
Breaking API Changes
-
androidx.work.Result
has been moved to be an inner class ofListenableWorker
.
Version 1.0.0-alpha12
5 ডিসেম্বর, 2018
This release contains some breaking API changes; please see the Breaking API Changes section below. This version is likely to be released as our first beta. alpha12
also contains extensive documentation updates.
এপিআই পরিবর্তন
- A new artifact,
work-rxjava2
, introducesRxWorker
. This is aListenableWorker
that expects aSingle<Payload>
. - Support for Firebase JobDispatcher has been removed because of its impending deprecation. This means that the
work-firebase
artifact will no longer be updated as we head into beta. We will be looking into adding an alternative in the future. - Combined
Payload
intoResult
.Result
is now a "sealed class" with three concrete implementations, which you can obtain viaResult.success()
(orResult.success(Data)
),Result.failure()
(orResult.failure(Data)
), andResult.retry()
. YourListenableFuture
s now resultResult
instead ofPayload
.Worker
s don't have getter and setter methods for outputData
. This is a breaking change. - Added
Constraints.Builder.setTriggerContentMaxDelay(long, TimeUnit)
andConstraints.Builder.setTriggerContentUpdateDelay(long, TimeUnit)
and variants to better support slow triggering content URIs. b/119919774 - Added
WorkRequest.Builder.setBackoffCriteria(BackoffPolicy, Duration)
variant. This method requires API 26. - Added
Operation.await()
andListenableFuture.await()
Kotlin extension methods. - Renamed
Operation.getException()
toOperation.getThrowable()
. This is a breaking change. - The
ContentUriTriggers
class and methods referencing it are no longer available for public usage. This is a breaking change. - Removed the rest of the varargs methods in
WorkManager
,WorkContinuation
, andOneTimeWorkRequest
to streamline the API. To fix any build problems, you can wrap your existing varargs withArrays.asList(...)
. We still include single-argument versions of each method. This is a breaking change. - Removed
WorkContinuation.combine(OneTimeWorkRequest, *)
variants. They were presenting a confusing API; the existingcombine
methods are more understandable. This is a breaking change.
বাগ ফিক্স
- Pre-Marshmallow implementations are now more reliable in recovering from process death of an already-executing task.
-
LiveData
that is observed viaobserveForever
is tracked via WorkManager. This is a backport of a Room library fix. b/74477406 -
Data.Builder.build()
now throws an exception if the serialized object exceeds its maximum size. This previously would only happen on a background thread where you couldn't properly handle it. - Further distinguished stopped vs. cancelled work;
getWorkInfoById()
will return aWorkInfo
with theCANCELLED
State
duringListenableWorker.onStopped()
. - Treat
null
Result
s as failures inListenableWorker
. b/120362353 - Speculative fix for Shield Tablets running API 24 that sometimes threw an
IllegalArgumentException
. b/119484416
Breaking API Changes
- Support for Firebase JobDispatcher has been removed because of its impending deprecation. This means that the
work-firebase
artifact will no longer be updated as we head into beta. We will be looking into adding an alternative in the future. - Combined
Payload
intoResult
.Result
is now a "sealed class" with three concrete implementations, which you can obtain viaResult.success()
(orResult.success(Data)
),Result.failure()
(orResult.failure(Data)
), andResult.retry()
. YourListenableFuture
s now resultResult
instead ofPayload
.Worker
s don't have getter and setter methods for outputData
. - Added
Operation.await()
andListenableFuture.await()
Kotlin extension methods. - Renamed
Operation.getException()
toOperation.getThrowable()
. - The
ContentUriTriggers
class and methods referencing it are no longer available for public usage. - Removed the rest of the varargs methods in
WorkManager
,WorkContinuation
, andOneTimeWorkRequest
to streamline the API. To fix any build problems, you can wrap your existing varargs withArrays.asList(...)
. We still include single-argument versions of each method. - Removed
WorkContinuation.combine(OneTimeWorkRequest, *)
variants. They were presenting a confusing API; the existingcombine
methods are more understandable.
Version 1.0.0-alpha11
নভেম্বর 8, 2018
This release contains many changes that will become stable API at beta
. There are breaking API changes in this release; please see the Breaking API Changes section below.
এপিআই পরিবর্তন
-
work-runtime-ktx
introduces a newCoroutineWorker
. -
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. This is a breaking change. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. This is a breaking change. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. This is a breaking change. - Setters on
Constraints
are no longer a part of the public API. This is a breaking change. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. This is a breaking change. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. This is a breaking change. - The constructor for
WorkStatus
is no longer a part of the public API. This is a breaking change. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. This is a breaking change. - Added a lot of
@NonNull
annotations to the public API to improve ergonomics of the API. - Add
WorkManager.enqueueUniqueWork()
API to enqueue uniqueOneTimeWorkRequest
s without having to create aWorkContinuation
. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. This is a breaking change. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. This is a breaking change. Use Collections instead. You can useArrays.asList()
to modify existing code. We did this to reduce the API surface and method count. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
. This is a breaking change.
বাগ ফিক্স
-
WorkRequest.Builder
s in thework-runtime-ktx
artifact now useListenableWorker
s. Fixes b/117666259 - Ensure the next run time for
PeriodicWork
is in the future. Fixes b/118204399 - Remove potential disk I/O when using WorkManager on app startup. Fixes b/117796731
- Fix a race condition in
WorkConstraintsTracker
. Fixes android-workmanager/issues/56
Breaking API Changes
-
WorkStatus
has been renamed toWorkInfo
. All correspondinggetStatus
method variants have been renamed to the correspondinggetWorkInfo
variants. -
ListenableWorker.onStopped()
no longer accepts has a boolean argument representing if theWorkRequest
was cancelled.WorkManager
no longer makes this distinction. -
androidx.work.test
package has been renamed toandroidx.work.testing
package. - Setters on
Constraints
are no longer a part of the public API. -
WorkerParameters.getTriggeredContentUris()
andWorkerParameters.getTriggeredContentAuthorities()
previously returned arrays. Now these methods return Collections. -
ListenableWorker.onStartWork()
is renamed toListenableWorker.startWork()
. - The constructor for
WorkStatus
is no longer a part of the public API. -
Configuration.getMaxJobSchedulerID()
andConfiguration.getMinJobSchedulerID()
are renamed toConfiguration.getMinJobSchedulerId()
andConfiguration.getMaxJobSchedulerId()
respectively. - All variants of
enqueue
andcancel
methods onWorkManager
now return a newOperation
type. - All variants of
enqueue
no longer accept varargs forWorkRequest
s. - Attempting to
initialize
WorkManager
more than once per process will now result in anIllegalStateException
.
Version 1.0.0-alpha10
11 অক্টোবর, 2018
This release supports developer-controlled asynchronous work. There are breaking API changes in this release; please see the Breaking API Changes section below.
We anticipate that WorkManager is entering the final phases of its alpha period. We expect to be API stable in beta, so please take some time to file your feedback on our issue tracker.
এপিআই পরিবর্তন
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. This is a breaking API change. - Renamed
NonBlockingWorker
toListenableWorker
, which is now an unhidden public class and ready for usage.-
ListenableWorker
provides access to one abstract method,ListenableFuture<Payload> onStartWork()
which is called on the main thread. It is up to you to start and process work asynchronously. When finished, you should update theListenableFuture
appropriately. Reference implementations ofListenableFuture
s are provided in theFutures
package inalpha02
(see below theWorkManager
section). -
Worker
extendsListenableWorker
and still operates as before, with an abstractResult doWork()
method. - Shuffled some methods and members from
Worker
toListenableWorker
. - We shall soon provide reference implementations for
ListenableWorker
s that use Kotlin coroutines (once the stable versions are released) and RxJava2.
-
- The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. The implementation ensures that the default reflection-based behavior is called as a last-ditch effort for any user-createdWorkerFactory
instances. This is a breaking change. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
and all related methods. AddedListenableFuture<Void>
as the return type of many methods in the API. This is a breaking API change.- You can now synchronously get and observe by using
ListenableFuture
s. For example,WorkManager.enqueue()
used to returnvoid
; it now returns aListenableFuture<Void>
. You can callListenableFuture.addListener(Runnable, Executor)
orListenableFuture.get()
to run code once the operation is complete. - Note that these
ListenableFuture
s do not tell you if the operation succeeded or failed; only that they finished. You will still need to chain WorkManager methods to find out this information. - We ignore
cancel()
calls on these objects, as they are confusing and hard to reason about (are you cancelling the operation or the resulting work?). This is within theFuture
s contract. - To maintain parity with the synchronous
getStatus*
methods, we have providedListenableFuture
variants, and renamed the existing ones that returnedLiveData
to explicitly have "LiveData" as part of the name (for example,getStatusesByIdLiveData(UUID)
). This is a breaking API change.
- You can now synchronously get and observe by using
বাগ ফিক্স
- Fixed the known issue from alpha09 regarding duplicate
androidx-annotations.pro
files. You may remove the workaround from the previous release notes by deletingexclude 'META-INF/proguard/androidx-annotations.pro'
from your gradle file. - Added proguard configurations to keep new
Worker
constructor. b/116296569 - Fix potential
NullPointerException
in a race condition where work wasREPLACE
d. b/116253486 and b/116677275 -
WorkContinuation.combine()
now accepts one or moreWorkContinuation
s instead of two or more. b/117266752
Breaking API Changes
- Removed all previously
deprecated
methods and classes, notably the defaultWorker
constructor. - The interface
WorkerFactory
and the concrete implementationDefaultWorkerFactory
have been merged into an abstract class calledWorkerFactory
. - Removed
WorkManager.synchronous()
andWorkContinuation.synchronous()
. -
WorkManager.getStatus*()
methods now returnListenableFuture
s.WorkManager.getStatus*LiveData()
returnLiveData
s.
Version 1.0.0-alpha09
সেপ্টেম্বর 19, 2018
পরিচিত সমস্যা
If you run into the following issue: "More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'", please put the following in your gradle file as a temporary workaround while we fix the issue in alpha10:
গ্রোভি
android { packagingOptions { exclude 'META-INF/proguard/androidx-annotations.pro' } }
কোটলিন
android { packagingOptions { exclude("META-INF/proguard/androidx-annotations.pro") } }
বাগ ফিক্স
- Added another fix that was needed for the "100 jobs" error. b/115560696
- Added some fixes for foreign key constraint errors due to race conditions. b/114705286
- Delegated
ConstraintTrackingWorker.onStopped(boolean)
calls to the underlyingWorker
. b/114125093 - Enforce correct minimum backoff delay for Firebase JobDispatcher. b/113304626
- Improved threading guarantees internal to the library.
- Correct potential issue with deduping of
LiveData
internally.
এপিআই পরিবর্তন
- You can now create your own
Worker
instances at runtime by specifying aWorkerFactory
as part of theWorkManager.Configuration
. The fallback factory isDefaultWorkerFactory
, which matches behavior of previous versions of WorkManager.- The default constructors for
Worker
andNonBlockingWorker
are now marked as deprecated. Please use the new constructor (Worker(Context, WorkerParameters)
) and callsuper(Context, WorkerParameters)
; future versions of WorkManager will remove the default constructor.
- The default constructors for
- We have started using the new
ListenableFuture
artifact internally (free of Guava dependencies). We will introduce ListenableFutures to the API in upcoming releases. This change will support the eventual unhiding ofNonBlockingWorker
. - Add ability to trigger timed work in
TestDriver
viaTestDriver.setInitialDelayMet(UUID)
andTestDriver.setPeriodDelayMet(UUID)
. b/113360060
ব্রেকিং পরিবর্তন
- The default
Worker
andNonBlockingWorker
constructors are deprecated. Please migrate to the new constructor ASAP. Future versions will remove the default constructor.
Version 1.0.0-alpha08
27 আগস্ট, 2018
বাগ ফিক্স
- Explicitly labelled WorkManager components as direct boot unaware so they don't fire up during direct boot. In the future, we will provide a version of WorkManager that is direct boot-aware. b/112665532
- Fixed an issue where retried work was not running. b/112604021
- Fixed periodic work not executing repeatedly (related to the above issue). b/112859683
- Honored backoff policies when the app process is already running.
- Corrected exception messages in
Data
to indicate the limit is 10KB. - Lowered maximum value of
Configuration.setMaxSchedulerLimit(int)
to 50 to account for some latency inJobScheduler
processing completion. b/112817355
Version 1.0.0-alpha07
16 আগস্ট, 2018
বাগ ফিক্স
- Fixed a potential SQL query with negative limits that could return an unbounded number of results.
- Work that has finished execution now correctly cancels all pending copies of that work in other Schedulers. This led to exceeding the
JobScheduler
jobs limit. b/111569265 - Fixed a
ConcurrentModificationException
inConstraintTracker
. b/112272753 - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229
এপিআই পরিবর্তন
-
Worker
now extends a new class,NonBlockingWorker
. This does not affect any current usage. In the future,NonBlockingWorker
will become a fully supported entity for custom threading solutions. - Changed return type annotations of
Data.getBooleanArray(String)
andData.getIntArray(String)
to@Nullable
instead of@NonNull
. b/112275229 - Kotlin extensions: deprecated
Map.toWorkData()
and added a top-levelworkDataOf(vararg Pair<String, Any?>)
to be more consistent with existing APIs.
Version 1.0.0-alpha06
আগস্ট 1, 2018
বাগ ফিক্স
- Prevent a database lock when scheduling work. b/111801342
- Fix a bug which causes
PeriodicWork
to not run on schedule when in Doze mode. b/111469837 - Fix a race condition when tracking constraints which causes
WorkManager
to crash. googlecodelabs/android-workmanager/issues/56 - Create unique
WorkRequest
s when usingWorkRequest.Builder#build()
. b/111408337 - Enable the use of
RescheduleReceiver
only when there areWorkRequest
s that need it. b/111765853
Version 1.0.0-alpha05
জুলাই 24, 2018
এপিআই পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. Instead, if the singleton isn't properly initialized in cases of manual initialization, the method will throw anIllegalStateException
. This is a breaking API change. - Added a new API,
Configuration.Builder.setMinimumLoggingLevel(int)
, which can control WorkManager verbosity. By default, WorkManager logsLog.INFO
and above. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). This is a breaking API change. - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
. This is a breaking API change.
বাগ ফিক্স
- WorkManager no longer executes work during known cases of auto-backup. This could have resulted in a crash. b/110564377
- Fixed double-scheduling of
PeriodicWorkRequest
s when usingJobScheduler
. b/110798652 - Fixed an issue with
PeriodicWorkRequest
s not executing correctly after device doze. b/111469837 - Fixed an issue with initial delays when using Firebase JobDispatcher. b/111141023
- Fixed some potential race conditions and timing issues.
- Correctly freed up
BroadcastReceiver
s that were no longer needed. - Optimized rescheduling performance when apps restart after being force closed.
- Allowed
TestScheduler.setAllConstraintsMet(UUID)
to be called before or after enqueuing the givenWorkRequest
. b/111238024
ব্রেকিং পরিবর্তন
-
WorkManager.getInstance()
is now annotated with@NonNull
instead of@Nullable
. - Changed signature of
Data.getString()
so it no longer takes a default value (it is implicitlynull
). - Marked some methods needed only for internal usage as
@hide
. This includes theConstraints
constructor,Data.toByteArray()
, andData.fromByteArray(byte[])
.
Version 1.0.0-alpha04
জুন 26, 2018
বাগ ফিক্স
-
PeriodicWorkRequest
s are now correctly rescheduled when using theAlarmManager
based implementation. - Fixed a potential ANR when rescheduling all workers after a force stop or a reboot. b/110507716
- Added nullability annotations to various WorkManager APIs. b/110344065
- Log uncaught exceptions that occur during Worker execution. b/109900862
- Allowed destructive database migrations in case you decide to roll back to an older version of WorkManager. b/74633270
- Fixed a migration crash if creating duplicate implicit tags. This is a very rare issue that occurred only if you used the same implicit tag format yourself.
Version 1.0.0-alpha03
জুন 19, 2018
বাগ ফিক্স
Fixed a race condition in the
AlarmManager
based implementation. b/80346526 .Fixed duplicate jobs when using
JobScheduler
after a device reboot.Jobs with Content URI triggers now persist across reboots. b/80234744
Documentation updates. b/109827628 , b/109758949 , b/80230748
Fixed a crash when re-enqueuing a
WorkRequest
. b/109572353 .Fixed Kotlin compiler warnings when using the
work-runtime-ktx
dependency.WorkManager now uses
Room
version1.1.1-rc1
.
এপিআই পরিবর্তন
- Added
getStatusesSync()
, the synchronous version ofWorkContinuation.getStatuses()
. -
Worker
has the ability to distinguish between user-initiated cancellation and temporary os-requested stopping.Worker.isStopped()
returnstrue
if any kind of stop has been requested.Worker.isCancelled()
returnstrue
when the work has been explicitly cancelled. b/79632247 - Add support for JobParameters#getNetwork() on API 28. This is exposed via
Worker.getNetwork()
. - Added
Configuration.Builder.setMaxSchedulerLimit(int maxSchedulerLimit)
so you can enforce how many jobs can be sent toJobScheduler
orAlarmManager
. This helps preventWorkManager
from taking all your availableJobScheduler
slots. - Added
Configuration.setJobSchedulerJobIdRange(int minJobSchedulerId, int maxJobSchedulerId)
which helps define a range ofJobScheduler
job ids safe forWorkManager
to use. b/79996760 -
Worker.getRunAttemptCount()
returns the current run count for a givenWorker
. b/79716516 -
WorkManager.enqueueUniquePeriodicWork(String uniqueWorkName, ExistingPeriodicWorkPolicy existingPeriodicWorkPolicy, PeriodicWorkRequest periodicWork)
allows you to enqueue a uniquePeriodicWorkRequest
s. b/79600647 -
WorkManager.cancelAllWork()
cancels allWorker
s. Libraries that depend onWorkManager
can query when this method was called last by usingWorkManager.getLastCancelAllTimeMillis()
for additional cleanup of internal state. - Added
WorkManager.pruneWork()
to remove completed jobs from the internal database. b/79950952 , b/109710758
আচরণ পরিবর্তন
- Added an implicit tag for all
WorkRequest
s, which is the fully qualified class name for theWorker
. This allows the ability to removeWorkRequest
s withouttag
s or when theid
is not available. b/109572351
ব্রেকিং পরিবর্তন
- Renamed
Worker.WorkerResult
toWorker.Result
. -
Worker.onStopped
now has an additionalisCancelled
parameter which is set totrue
when theWorker
has explicitly been cancelled.
Version 1.0.0-alpha02
24 মে, 2018
বাগ ফিক্স
- Fixed a
NullPointerException
onState.isFinished()
. b/79550068 - Fixed an issue which caused
Worker
s to be rescheduled onApplication.onCreate()
. b/79660657 - Fixed an issue where you could schedule more work than is allowed by the OS. b/79497378
- Moved cleanup of wake locks associated with
Worker
s to the background thread. - The
AlarmManager
implementation now correctly cleans up when all pending work is complete. - Fixed cleanup SQL queries which affected non-English locales. b/80065360
- Added support for
float
s inData
. b/79443878 -
Data.Builder.putAll()
now returns an instance of theBuilder
. b/79699162 - More javadoc and fixes in documentation. b/79691663
এপিআই পরিবর্তন
-
Worker
s can react to being stopped.Worker.isStopped()
can be used to check if aWorker
has been stopped.Worker.onStopped()
can be used to perform lightweight cleanup operations. -
Worker.getTags()
API returns aSet
of tags associated with theWorker
. - Added
javax.time.Duration
overloads for APIs which take a combination of duration andTimeUnit
s. This is guarded by@RequiresApi(26)
. -
WorkManager
extensions have moved from theandroidx.work.ktx
package to theandroidx.work
package. The old extensions are deprecated and will be removed in a future version. -
Configuration.withExecutor()
is deprecated. UseConfiguration.setExecutor()
instead.
Version 1.0.0-alpha01
8 মে, 2018
WorkManager simplifies scheduling and execution of guaranteed, constraint-aware background work. This initial release is 1.0.0-alpha01
.