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