वाई-फाई पसंदीदा नेटवर्क ऑफलोड (पीएनओ) स्कैन कम-शक्ति वाले वाई-फाई स्कैन होते हैं जो नियमित अंतराल पर होते हैं जब कोई डिवाइस वाई-फाई से डिस्कनेक्ट हो जाता है और स्क्रीन बंद हो जाती है। पीएनओ स्कैन का उपयोग सहेजे गए नेटवर्क को खोजने और उनसे कनेक्ट करने के लिए किया जाता है। ये स्कैन NL80211_CMD_START_SCHED_SCAN
कमांड का उपयोग करके फ्रेमवर्क द्वारा शेड्यूल किए गए हैं। अधिक जानकारी के लिए, nl80211.h देखें।
डिवाइस गतिशीलता जानकारी के साथ बिजली के उपयोग को अनुकूलित करना
एंड्रॉइड 9 या उससे नीचे चलने वाले डिवाइस पर, जब डिवाइस वाई-फाई से डिस्कनेक्ट हो जाता है और स्क्रीन बंद हो जाती है, तो पीएनओ स्कैन पहले तीन स्कैन के लिए 20 सेकंड के अंतराल पर होता है, फिर बाद के सभी स्कैन के लिए हर 60 सेकंड में एक स्कैन धीमा हो जाता है। सहेजा गया नेटवर्क मिलने या स्क्रीन चालू होने पर पीएनओ स्कैनिंग बंद हो जाती है।
एंड्रॉइड 10 ने WifiManager
में setDeviceMobilityState()
नामक एक वैकल्पिक एपीआई विधि पेश की है जो बिजली की खपत को कम करने के लिए डिवाइस की गतिशीलता स्थिति के आधार पर पीएनओ स्कैन के बीच अंतराल को बढ़ाती है।
संभावित गतिशीलता स्थितियाँ हैं:
-
DEVICE_MOBILITY_STATE_UNKNOWN
: अज्ञात गतिशीलता -
DEVICE_MOBILITY_STATE_HIGH_MVMT
: बाइक पर या मोटर वाहन में -
DEVICE_MOBILITY_STATE_LOW_MVMT
: चलना या दौड़ना -
DEVICE_MOBILITY_STATE_STATIONARY
: गतिमान नहीं
यदि डिवाइस स्थिर है, तो एंड्रॉइड फ्रेमवर्क बिजली की खपत को कम करने के लिए पीएनओ स्कैन के बीच अंतराल को 60 सेकंड से बढ़ाकर 180 सेकंड कर देता है। यह अनुकूलन इस धारणा पर किया गया है कि जब डिवाइस नहीं चल रहा हो तो डिवाइस को पीएनओ स्कैन में कोई नया नेटवर्क मिलने की संभावना नहीं है।
यदि डिवाइस किसी अन्य गतिशीलता स्थिति में है या यदि विधि को कॉल नहीं किया गया है, तो डिवाइस डिफ़ॉल्ट पीएनओ स्कैन व्यवहार का उपयोग करता है।
कार्यान्वयन
एंड्रॉइड 10 या उच्चतर पर चलने वाले डिवाइस पर इस पावर-ऑप्टिमाइज़िंग सुविधा को लागू करने के लिए, डिवाइस गतिशीलता जानकारी प्राप्त करें और एक कस्टम सिस्टम ऐप से setDeviceMobilityState()
विधि को कॉल करें।