हमने WorkManager का इस्तेमाल शुरू करना लेख में बताया था कि WorkManager, आपके लिए बैकग्राउंड में एसिंक्रोनस तरीके से काम करता है. बेसिक वर्शन को लागू करने से, ज़्यादातर ऐप्लिकेशन की ज़रूरतें पूरी हो जाती हैं. ज़्यादा बेहतर इस्तेमाल के उदाहरणों के लिए, जैसे कि काम को सही तरीके से रोकने के लिए, आपको WorkManager में थ्रेडिंग और कॉंकुरेंसी के बारे में जानना चाहिए.
WorkManager, चार तरह की वर्क प्रिमिटिव उपलब्ध कराता है:
Worker
को लागू करना सबसे आसान है. साथ ही, इसे पिछले सेक्शन में भी दिखाया गया है. WorkManager इसे बैकग्राउंड थ्रेड पर अपने-आप चलाता है. हालांकि, इसे बदला जा सकता है. Threading in Worker में,Worker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.CoroutineWorker
, Kotlin का इस्तेमाल करने वाले लोगों के लिए सुझाया गया तरीका है.CoroutineWorker
इंस्टेंस, बैकग्राउंड में काम करने के लिए सस्पेंडिंग फ़ंक्शन दिखाते हैं. डिफ़ॉल्ट रूप से, वे डिफ़ॉल्टDispatcher
चलाते हैं. हालांकि, इसे अपनी पसंद के मुताबिक बनाया जा सकता है. CoroutineWorker में थ्रेडिंग में,CoroutineWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.- RxJava का इस्तेमाल करने वाले लोगों के लिए,
RxWorker
को लागू करने का सुझाव दिया जाता है. अगर आपके मौजूदा एसिंक्रोनस कोड का ज़्यादातर हिस्सा RxJava में मॉडल किया गया है, तो RxWorkers का इस्तेमाल किया जाना चाहिए. RxJava के सभी कॉन्सेप्ट की तरह, आपके पास थ्रेडिंग की अपनी पसंद की रणनीति चुनने का विकल्प होता है.RxWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें. इसके लिए, RxWorker में थ्रेडिंग पर जाएं. ListenableWorker
,Worker
,CoroutineWorker
, औरRxWorker
के लिए बेस क्लास है. यह उन Java डेवलपर के लिए है जिन्हें कॉलबैक पर आधारित एसिंक्रोनस एपीआई, जैसे किFusedLocationProviderClient
के साथ इंटरैक्ट करना है और वे RxJava का इस्तेमाल नहीं कर रहे हैं. ListenableWorker में थ्रेडिंग में,ListenableWorker
इंस्टेंस में थ्रेडिंग के बारे में ज़्यादा पढ़ें.