डिवाइस शेड्यूलिंग

डिवाइस शेड्यूलिंग मॉड्यूल में एक लॉजिक होता है, जो यह पता लगाता है कि डिवाइस, इस्तेमाल में है या नहीं. साथ ही, यह भी पता लगाता है कि उपयोगकर्ता के काम में रुकावट डाले बिना, डिवाइस को रीबूट किया जा सकता है या नहीं.

यह मॉड्यूल, सॉफ़्टवेयर अपडेट को ज़्यादा से ज़्यादा लोगों तक पहुंचाने में मदद करता है. ऐसा, इंस्टॉलर को डिवाइस को फिर से चालू करने के लिए भरोसेमंद सिग्नल उपलब्ध कराने से होता है. रीबूट के लिए तैयार होने का भरोसेमंद सिग्नल मिलने पर, इंस्टॉलर अपडेट लागू करने के लिए डिवाइस को रीबूट कर सकते हैं. इससे उन्हें यह जानकारी मिलती है कि अपडेट से उपयोगकर्ता को कोई परेशानी नहीं हुई है.

डिवाइसों को इस्तेमाल न किए जाने की स्थिति में अपने-आप रीबूट करने से, डिवाइस के अपने-आप रीबूट होने के मुकाबले तेज़ी से अपडेट किए जा सकते हैं. अपडेट लागू होने में लगने वाले समय को कम करने से, उपयोगकर्ताओं को गंभीर समस्याओं को जल्दी ठीक करने में मदद मिलती है. इससे उनके डिवाइस की परफ़ॉर्मेंस बेहतर होती है. तेज़ी से अपनाने की दर से, रिग्रेशन को जल्दी ढूंढने में भी मदद मिलती है.

इस लॉजिक को अपडेट किया जा सकता है, क्योंकि किसी डिवाइस को रीबूट करने के लिए, कई शर्तों को पूरा करना ज़रूरी होता है. ये शर्तें समय के साथ बदल सकती हैं. इसलिए, इस लॉजिक को अपडेट करने से यह पक्का होता है कि रीबूट के लिए तैयार होने का सिग्नल मान्य रहे.

मॉड्यूल की सीमा

Android 12 में, इस मॉड्यूल में कोड, यहां दी गई नई डायरेक्ट्री में मौजूद है:

  • packages/modules/Scheduling

पैकेज का फ़ॉर्मैट

डिवाइस शेड्यूलिंग मॉड्यूल (com.android.scheduling), APEX पैकेज के तौर पर शिप होता है.

इस मॉड्यूल में दो JAR फ़ाइलें होती हैं:

  • framework-scheduling.jar: इसमें वह एपीआई प्लैटफ़ॉर्म होता है जिससे इंस्टॉलर इंटरैक्ट करता है. यह bootclasspath का हिस्सा है.

  • service-scheduling.jar: इसमें एक नई सिस्टम सेवा, RebootReadinessManagerService शामिल है. सिस्टम सर्वर प्रोसेस से लोड किया जाता है.

डिपेंडेंसी

इस मॉड्यूल में कोई बाहरी डिपेंडेंसी नहीं है.