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

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

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

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

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

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

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

  • packages/modules/Scheduling

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

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

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

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

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

डिपेंडेंसी

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