WorkManager की मदद से टास्क शेड्यूल करना यह Android Jetpack का हिस्सा है.
लगातार चलने वाले काम के लिए, WorkManager का सुझाव दिया जाता है. अगर ऐप्लिकेशन को रीस्टार्ट करने और सिस्टम को रीबूट करने के बाद भी, टास्क शेड्यूल किया रहता है, तो वह टास्क शेड्यूल किया हुआ बना रहता है. ज़्यादातर बैकग्राउंड प्रोसेसिंग, लगातार काम करने की सुविधा की मदद से बेहतर तरीके से की जाती है. इसलिए, बैकग्राउंड प्रोसेसिंग के लिए, हमारा सुझाव है कि आप WorkManager का इस्तेमाल करें.
लगातार चलने वाले काम के टाइप
WorkManager, तीन तरह के लगातार चलने वाले कामों को हैंडल करता है:
- तुरंत: ऐसे टास्क जिन्हें तुरंत शुरू करके जल्द से जल्द पूरा करना होता है. इसे जल्दी पूरा किया जा सकता है.
- लंबे समय तक चलने वाले: ऐसे टास्क जो 10 मिनट से ज़्यादा समय तक चल सकते हैं.
- बाद में किए जा सकने वाले: शेड्यूल किए गए ऐसे टास्क जो बाद में शुरू होते हैं और समय-समय पर चल सकते हैं.
पहली इमेज में बताया गया है कि अलग-अलग तरह के लगातार चलने वाले काम एक-दूसरे से कैसे जुड़े होते हैं.
इसी तरह, यहां दी गई टेबल में अलग-अलग तरह के कामों के बारे में बताया गया है.
स्ट्रीम किस तरह की है | समयावधि | ऐक्सेस करने का तरीका |
---|---|---|
तुरंत | एक बार | OneTimeWorkRequest और Worker .
जल्दी काम करने के लिए, अपने OneTimeWorkRequest पर |
लंबे समय तक चलने वाला | एक बार या बार-बार | WorkRequest या Worker में से कोई भी. सूचना को मैनेज करने के लिए, Worker में setForeground() को कॉल करें.
|
देर से चुकाने की सुविधा | एक बार या बार-बार | PeriodicWorkRequest और Worker .
|
WorkManager को सेट अप करने के तरीके के बारे में ज़्यादा जानने के लिए, अपने WorkRequests तय करना गाइड देखें.
सुविधाएं
WorkManager, आसान और बेहतर एपीआई उपलब्ध कराता है. साथ ही, इसके कई और मुख्य फ़ायदे भी हैं:
काम से जुड़े कंस्ट्रेंट
काम से जुड़ी पाबंदियों का इस्तेमाल करके, अपने काम को चलाने के लिए सबसे सही शर्तों को साफ़ तौर पर बताएं. उदाहरण के लिए, सिर्फ़ तब चलाएं, जब डिवाइस बिना शुल्क वाले नेटवर्क से कनेक्ट हो, डिवाइस इस्तेमाल में न हो या उसमें ज़रूरत के मुताबिक बैटरी हो.
बेहतर शेड्यूलिंग
WorkManager की मदद से, काम को शेड्यूल किया जा सकता है, ताकि उसे एक बार या फिर बार-बार चलाया जा सके. इसके लिए, शेड्यूल करने की सुविधा के साथ मिलने वाली विंडो का इस्तेमाल किया जाता है. टास्क को टैग और नाम भी दिया जा सकता है. इससे, यूनीक और बदले जा सकने वाले टास्क शेड्यूल किए जा सकते हैं. साथ ही, एक साथ कई टास्क को मॉनिटर या रद्द किया जा सकता है.
शेड्यूल किया गया काम, डिवाइस में मैनेज किए जाने वाले SQLite डेटाबेस में सेव किया जाता है. साथ ही, WorkManager यह पक्का करता है कि डिवाइस के रीबूट होने पर भी यह काम जारी रहे और फिर से शेड्यूल किया जाए.
इसके अलावा, WorkManager में बैटरी बचाने वाली सुविधाएं और सबसे सही तरीके इस्तेमाल किए जाते हैं. जैसे, Doze मोड. इसलिए, आपको इस बारे में चिंता करने की ज़रूरत नहीं है.
तेज़ी से काम करना
WorkManager का इस्तेमाल करके, बैकग्राउंड में तुरंत काम करने के लिए शेड्यूल किया जा सकता है. आपको ज़्यादा तेज़ी से काम करने की सुविधा का इस्तेमाल उन टास्क के लिए करना चाहिए जो उपयोगकर्ता के लिए अहम हैं और कुछ ही मिनटों में पूरे हो जाते हैं.
फिर से कोशिश करने की सुविधा के लिए नीति
कभी-कभी काम पूरा नहीं हो पाता. WorkManager, फिर से कोशिश करने की सुविधा के लिए ज़रूरी नीतियों को कॉन्फ़िगर करने की सुविधा देता है. इनमें, एक्सपोनेंशियल बैकऑफ़ नीति भी शामिल है.
टास्क को क्रम से पूरा करना
एक-दूसरे से जुड़े जटिल कामों के लिए, अलग-अलग कामों को एक साथ जोड़ें. इसके लिए, एक आसान इंटरफ़ेस का इस्तेमाल करें. इसकी मदद से, यह कंट्रोल किया जा सकता है कि कौनसे काम क्रम से और कौनसे एक साथ पूरे किए जाएं.
val continuation = WorkManager.getInstance(context)
.beginUniqueWork(
Constants.IMAGE_MANIPULATION_WORK_NAME,
ExistingWorkPolicy.REPLACE,
OneTimeWorkRequest.from(CleanupWorker::class.java)
).then(OneTimeWorkRequest.from(WaterColorFilterWorker::class.java))
.then(OneTimeWorkRequest.from(GrayScaleFilterWorker::class.java))
.then(OneTimeWorkRequest.from(BlurEffectFilterWorker::class.java))
.then(
if (save) {
workRequest<SaveImageToGalleryWorker>(tag = Constants.TAG_OUTPUT)
} else /* upload */ {
workRequest<UploadWorker>(tag = Constants.TAG_OUTPUT)
}
)
WorkManager.getInstance(...)
.beginWith(Arrays.asList(workA, workB))
.then(workC)
.enqueue();
हर टास्क के लिए, इनपुट और आउटपुट डेटा तय किया जा सकता है. एक साथ कई कामों को सिलसिलेवार तरीके से करने पर, WorkManager एक टास्क के आउटपुट डेटा को अगले टास्क में अपने-आप भेज देता है.
थ्रेड की सुविधा के साथ काम करने की बिल्ट-इन सुविधा
WorkManager, कोरूटीन और RxJava के साथ आसानी से इंटिग्रेट हो जाता है. साथ ही, अपने असिंक्रोनस एपीआई प्लग इन करने की सुविधा भी देता है.
भरोसेमंद तरीके से काम करने के लिए, WorkManager का इस्तेमाल करना
WorkManager का मकसद ऐसे कामों के लिए है जिन्हें भरोसेमंद तरीके से चलाना ज़रूरी है. भले ही, उपयोगकर्ता किसी स्क्रीन से बाहर निकल जाए, ऐप्लिकेशन बंद हो जाए या डिवाइस रीस्टार्ट हो जाए. उदाहरण के लिए:
- बैकएंड सेवाओं को लॉग या आंकड़े भेजना.
- समय-समय पर ऐप्लिकेशन का डेटा, सर्वर के साथ सिंक करना.
WorkManager का मकसद, बैकग्राउंड में चल रहे ऐसे काम के लिए नहीं है जिसे ऐप्लिकेशन की प्रोसेस बंद होने पर सुरक्षित तरीके से बंद किया जा सकता है. यह उन सभी कामों के लिए भी सामान्य समाधान नहीं है जिन्हें तुरंत पूरा करना ज़रूरी है. आपकी ज़रूरतों के हिसाब से कौनसा समाधान सही रहेगा, यह जानने के लिए कृपया बैकग्राउंड में प्रोसेस करने की सुविधा से जुड़ी गाइड देखें.
अन्य एपीआई से संबंध
कुछ इस्तेमाल के उदाहरणों के लिए, कोरूटीन का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, आपको इन्हें लगातार चलने वाले कामों के लिए इस्तेमाल नहीं करना चाहिए. ध्यान रखें कि कोरूटीन, एक साथ कई काम करने की सुविधा देने वाला फ़्रेमवर्क है. वहीं, WorkManager, लगातार चलने वाले काम के लिए एक लाइब्रेरी है. इसी तरह, आपको AlarmManager का इस्तेमाल सिर्फ़ घड़ियों या कैलेंडर के लिए करना चाहिए.
एपीआई | इनके लिए सुझाया गया | WorkManager से संबंध |
---|---|---|
कोरुटाइन | ऐसा कोई भी काम जो सिंक होने में समय लेता है और जिसे लगातार सिंक करने की ज़रूरत नहीं होती. | Kotlin में मुख्य थ्रेड को छोड़ने का स्टैंडर्ड तरीका, कोरूटीन है. हालांकि, ऐप्लिकेशन बंद होने पर ये मेमोरी से हट जाते हैं. लगातार चलने वाले काम के लिए, WorkManager का इस्तेमाल करें. |
AlarmManager | सिर्फ़ अलार्म की आवाज़ सुनाई देगी. | WorkManager के उलट, AlarmManager किसी डिवाइस को डोज़ मोड से जगाता है. इसलिए, यह पावर और संसाधनों के मैनेजमेंट के मामले में असरदार नहीं है. इसका इस्तेमाल सिर्फ़ सटीक अलार्म या सूचनाओं के लिए करें, जैसे कि कैलेंडर इवेंट. बैकग्राउंड में काम करने के लिए इसका इस्तेमाल न करें. |
बंद किए गए एपीआई को बदलना
हमारा सुझाव है कि Android के बैकग्राउंड में शेड्यूल करने वाले सभी पुराने एपीआई के बजाय, WorkManager API का इस्तेमाल करें. इनमें FirebaseJobDispatcher, GcmNetworkManager, और Job Scheduler शामिल हैं.
शुरू करना
अपने ऐप्लिकेशन में WorkManager का इस्तेमाल शुरू करने के लिए, शुरू करने के लिए गाइड देखें.
अन्य संसाधन
WorkManager
के बारे में ज़्यादा जानकारी के लिए, यहां दिए गए संसाधन देखें.
सैंपल
Android 16 का बीटा वर्शन 2 आ गया है: इसमें प्रो कैमरे की सुविधाएं शामिल हैं. जैसे, हाइब्रिड ऑटो-एक्सपोज़र और रंग में सटीक बदलाव, UltraHDR इमेज के अपडेट, नए एजीएसएल इफ़ेक्ट वगैरह. पक्का करें कि आपने व्यवहार में हुए हाल ही के बदलावों के हिसाब से जांच की हो. हमने साल 2024 में, Google Play और Android ऐप्लिकेशन नेटवर्क को कैसे सुरक्षित रखा. Google Play को सुरक्षित रखना हमारी सबसे बड़ी प्राथमिकता है. इसलिए, हम अपने प्लैटफ़ॉर्म को सुरक्षित रखने के लिए, नए तरीके ढूंढते रहते हैं. साल 2024 खत्म होने वाला है. हमारी पार्टनरशिप के लिए आपका धन्यवाद. Google Play की पूरी टीम की ओर से, हमारी कम्यूनिटी का अहम हिस्सा बने रहने के लिए धन्यवाद. Android 16 का पहला डेवलपर प्रीव्यू: Android 16 का पहला डेवलपर प्रीव्यू 1 आ गया है. अब इसे अपने ऐप्लिकेशन के साथ टेस्ट किया जा सकता है. Google Play पर अपने कारोबार को आगे बढ़ाने के लिए नए अपडेट: अपने ऐप्लिकेशन और गेम के लिए हमारे नए अपडेट की मदद से, दर्शकों की संख्या बढ़ाएं, यूज़र ऐक्टिविटी बढ़ाएं, और आय को ऑप्टिमाइज़ करें. #TheAndroidShow पर Google का बनाया हुआ: इस महीने के Made by Google इवेंट की मदद से, उपहार में मिले नए Pixel फ़ोन और स्मार्टवॉच का आनंद लें. इसके बाद, आपको यह भी पता चलेगा कि Wear OS 5, फ़ोल्ड किए जा सकने वाले डिवाइसों, और अन्य डिवाइसों के लिए ऐप्लिकेशन कैसे बनाते हैं. पेश है कलेक्शन, आपके कॉन्टेंट को डिवाइस पर ही देखने की सुविधा: कलेक्शन, लोगों को उनके इंस्टॉल किए गए ऐप्लिकेशन से सबसे अच्छा और सबसे काम का कॉन्टेंट उपलब्ध कराते हैं. ये कॉन्टेंट खास तौर पर इन इंटेंट के हिसाब से बनाए जाते हैं, जैसे कि 'देखें' या 'सुनें'. Android 15 released to AOSP: now released to the Android Open Source Project (AOSP), Android 15 continues our focus on a private and secure platform that helps improve your productivity. Top updates from Google Play at I/O: discover new ways to reach the right audiences with the right content, boost your revenue with more payment options, and build safer app experiences. Google Play at I/O 2024: check out the Google Play keynote to discover the latest helpful products and features. Google I/O program details are now live: Get a sneak peek at this year’s 150+ sessions and learning content covering mobile, web, multi-platform development, and more. Play is back at Google I/O: Join us online on May 14 to discover, innovate, and unlock new possibilities with Google's latest developer tools. The first developer preview of Android 15 is here: Android 15 makes it easier to improve your productivity with enhancements to performance, privacy, security, and user expression. Google for Games Developer Summit returns March 12: hear from teams across Google on the latest products and best practices to drive business growth across the entire game lifecycle. Since joining Google Play at the start of this year, it's been my privilege to support the hard work and creativity of our incredible community of people building apps and games. 5 must-know Google Play updates: discover new ways to grow and engage your audience, create best-in-class experiences, and monetize your apps and games on Google Play. Learn how we're supporting app quality on Google Play: we're rolling out updates across generative AI, photo and video permissions, and more - all designed to protect users. Learn more about the changes we're making to keep Google Play safe for developers and users. Notes from Google Play: Keeping our platform safe - people are increasingly concerned about the privacy and security of the titles they download. Therefore, it’s more important than ever to grow user trust with high-quality app experiences built on a secure foundation. Get help from Google AI when drafting your custom store listing - take our new Google Play Academy course to learn how an experimental Google AI feature can help you draft custom store listings. A new Play Store for large screens - this new version helps users more easily find high-quality apps and games that are optimized for their tablets, foldables, and Chromebooks. New price experiments feature now available in Play Console - price your in-app products with confidence with our new price experiments feature. In just minutes, set up a test to optimize for local purchasing power across markets. Google Play at I/O 2023 - over the past year, our teams have been laser-focused on building exciting new features and making major changes to help your business thrive on Google Play. Giving users control over account data - apps that allow account creation will soon need to allow users to initiate account and data deletion from within the app and online. Showcase your apps' privacy and security practices in your Data safety section in a simple and easy-to-understand way. Let’s go, it’s Google I/O - join us online on May 10. Learn about the latest Google Play updates at Google I/O and what we’re doing to help you work smarter, ship faster, and stay inspired.फ़रवरी 2025
जनवरी 2025
दिसंबर 2024
नवंबर 2024
अक्टूबर 2024
अगस्त 2024
जुलाई 2024
September 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
वीडियो
- WorkManager - MAD Skills, वीडियो सीरीज़
- 2018 के Android डेवलपर समिट से WorkManager के साथ काम करना
- Android Dev Summit 2019 से WorkManager: बुनियादी बातों के अलावा
ब्लॉग
फ़िलहाल कोई सुझाव नहीं है.
अपने Google खाते में साइन इन करने की कोशिश करें.