डिवाइस शेड्यूलिंग मॉड्यूल में एक लॉजिक होता है, जो यह पता लगाता है कि डिवाइस इस्तेमाल में है या नहीं. साथ ही, यह भी पता लगाता है कि उपयोगकर्ता के काम में रुकावट डाले बिना डिवाइस को रीबूट किया जा सकता है या नहीं.
यह मॉड्यूल, सॉफ़्टवेयर अपडेट को ज़्यादा से ज़्यादा लोगों तक पहुंचाने में मदद करता है. ऐसा, इंस्टॉलर को डिवाइस को फिर से चालू करने के लिए भरोसेमंद सिग्नल उपलब्ध कराने से होता है. डिवाइस को फिर से चालू करने के लिए, भरोसेमंद सिग्नल की मदद से लोग अपडेट लागू करने के लिए, डिवाइस को फिर से चालू कर सकते हैं. हालांकि, उन्हें यह पता होता है कि उपयोगकर्ता के डिवाइस को अपडेट करने में कोई रुकावट नहीं आई है.
डिवाइसों को इस्तेमाल न किए जाने की स्थिति में अपने-आप रीबूट करने से, डिवाइस के अपने-आप रीबूट होने के मुकाबले तेज़ी से अपडेट किए जा सकते हैं. अपडेट लागू होने में लगने वाले समय को कम करने से, उपयोगकर्ताओं को गंभीर समस्याओं को जल्दी ठीक करने में मदद मिलती है. इससे उनके डिवाइस की परफ़ॉर्मेंस बेहतर होती है. तेज़ी से अपनाने की दर से, रिग्रेशन को जल्दी ढूंढने में भी मदद मिलती है.
इस लॉजिक को अपडेट किया जा सकता है, क्योंकि यह तय किया जाता है कि डिवाइस फिर से चालू करने के लिए तैयार है या नहीं. इसमें कई चीज़ों को ध्यान में रखा जाता है. ये शर्तें समय के साथ बदल सकती हैं. इसलिए, इस लॉजिक को अपडेट कर पाने से यह पक्का हो जाता है कि डिवाइस को फिर से चालू करने का सिग्नल मान्य रहेगा.
मॉड्यूल की सीमा
Android 12 में, इस मॉड्यूल में कोड, यहां दी गई नई डायरेक्ट्री में मौजूद है:
packages/modules/Scheduling
पैकेज का फ़ॉर्मैट
डिवाइस शेड्यूलिंग मॉड्यूल (com.android.scheduling
), APEX पैकेज के तौर पर शिप होता है.
मॉड्यूल में दो JAR फ़ाइलें होती हैं:
framework-scheduling.jar:
में वह एपीआई प्लैटफ़ॉर्म शामिल होता है जिससे इंस्टॉलर इंटरैक्ट करता है. यहbootclasspath
का हिस्सा है.service-scheduling.jar
: इसमें एक नई सिस्टम सेवा शामिल है,RebootReadinessManagerService
. सिस्टम सर्वर प्रोसेस से लोड किया जाता है.
डिपेंडेंसी
इस मॉड्यूल में कोई बाहरी डिपेंडेंसी नहीं है.