Wi-Fi পছন্দের নেটওয়ার্ক অফলোড (PNO) স্ক্যানগুলি হল কম-পাওয়ার ওয়াই-ফাই স্ক্যান যা নিয়মিত বিরতিতে ঘটে যখন একটি ডিভাইস Wi-Fi থেকে সংযোগ বিচ্ছিন্ন হয় এবং স্ক্রিন বন্ধ থাকে। PNO স্ক্যানগুলি সংরক্ষিত নেটওয়ার্কগুলি খুঁজে পেতে এবং সংযোগ করতে ব্যবহৃত হয়। এই স্ক্যানগুলি NL80211_CMD_START_SCHED_SCAN
কমান্ড ব্যবহার করে ফ্রেমওয়ার্ক দ্বারা নির্ধারিত হয়৷ আরও তথ্যের জন্য, nl80211.h দেখুন।
ডিভাইসের গতিশীলতার তথ্য সহ পাওয়ার ব্যবহার অপ্টিমাইজ করুন
Android 9 বা তার নিচের সংস্করণে চলমান ডিভাইসগুলিতে, যখন ডিভাইসটি Wi-Fi থেকে সংযোগ বিচ্ছিন্ন থাকে এবং স্ক্রিন বন্ধ থাকে, তখন প্রথম তিনটি স্ক্যানের জন্য 20 সেকেন্ডের ব্যবধানে PNO স্ক্যান হয়, তারপরে পরবর্তী সমস্ত স্ক্যানের জন্য প্রতি 60 সেকেন্ডে একটি স্ক্যানের গতি কমে যায়। একটি সংরক্ষিত নেটওয়ার্ক পাওয়া গেলে বা স্ক্রীন চালু হলে PNO স্ক্যানিং বন্ধ হয়ে যায়।
Android 10 WifiManager
এ setDeviceMobilityState()
নামে একটি ঐচ্ছিক API পদ্ধতি প্রবর্তন করেছে যা বিদ্যুৎ খরচ কমাতে ডিভাইসের গতিশীলতার অবস্থার উপর ভিত্তি করে PNO স্ক্যানের মধ্যে ব্যবধান বাড়ায়।
সম্ভাব্য গতিশীলতার অবস্থা হল:
-
DEVICE_MOBILITY_STATE_UNKNOWN
: অজানা গতিশীলতা -
DEVICE_MOBILITY_STATE_HIGH_MVMT
: বাইকে বা মোটর গাড়িতে -
DEVICE_MOBILITY_STATE_LOW_MVMT
: হাঁটা বা দৌড়ানো -
DEVICE_MOBILITY_STATE_STATIONARY
: সরছে না৷
ডিভাইসটি স্থির থাকলে, Android ফ্রেমওয়ার্ক PNO স্ক্যানের মধ্যে ব্যবধান 60 সেকেন্ড থেকে বাড়িয়ে 180 সেকেন্ড করে পাওয়ার খরচ কমাতে পারে। এই অপ্টিমাইজেশানটি এই অনুমানে তৈরি করা হয়েছে যে ডিভাইসটি নড়াচড়া না করলে পিএনও স্ক্যানে কোনও নতুন নেটওয়ার্ক খুঁজে পাওয়ার সম্ভাবনা নেই৷
যদি ডিভাইসটি অন্য কোন গতিশীল অবস্থায় থাকে বা যদি পদ্ধতিটি কল না করা হয়, ডিভাইসটি ডিফল্ট PNO স্ক্যান আচরণ ব্যবহার করে।
বাস্তবায়ন
অ্যান্ড্রয়েড 10 বা উচ্চতর সংস্করণে চালিত একটি ডিভাইসে এই পাওয়ার-অপ্টিমাইজিং বৈশিষ্ট্যটি কার্যকর করতে, ডিভাইসের গতিশীলতার তথ্য সংগ্রহ করুন এবং একটি কাস্টম সিস্টেম অ্যাপ থেকে setDeviceMobilityState()
পদ্ধতিতে কল করুন।
Wi-Fi পছন্দের নেটওয়ার্ক অফলোড (PNO) স্ক্যানগুলি হল কম-পাওয়ার ওয়াই-ফাই স্ক্যান যা নিয়মিত বিরতিতে ঘটে যখন একটি ডিভাইস Wi-Fi থেকে সংযোগ বিচ্ছিন্ন হয় এবং স্ক্রিন বন্ধ থাকে। PNO স্ক্যানগুলি সংরক্ষিত নেটওয়ার্কগুলি খুঁজে পেতে এবং সংযোগ করতে ব্যবহৃত হয়। এই স্ক্যানগুলি NL80211_CMD_START_SCHED_SCAN
কমান্ড ব্যবহার করে ফ্রেমওয়ার্ক দ্বারা নির্ধারিত হয়৷ আরও তথ্যের জন্য, nl80211.h দেখুন।
ডিভাইসের গতিশীলতার তথ্য সহ পাওয়ার ব্যবহার অপ্টিমাইজ করুন
Android 9 বা তার নিচের সংস্করণে চলমান ডিভাইসগুলিতে, যখন ডিভাইসটি Wi-Fi থেকে সংযোগ বিচ্ছিন্ন থাকে এবং স্ক্রিন বন্ধ থাকে, তখন প্রথম তিনটি স্ক্যানের জন্য 20 সেকেন্ডের ব্যবধানে PNO স্ক্যান হয়, তারপরে পরবর্তী সমস্ত স্ক্যানের জন্য প্রতি 60 সেকেন্ডে একটি স্ক্যানের গতি কমে যায়। একটি সংরক্ষিত নেটওয়ার্ক পাওয়া গেলে বা স্ক্রীন চালু হলে PNO স্ক্যানিং বন্ধ হয়ে যায়।
Android 10 WifiManager
এ setDeviceMobilityState()
নামে একটি ঐচ্ছিক API পদ্ধতি প্রবর্তন করেছে যা বিদ্যুৎ খরচ কমাতে ডিভাইসের গতিশীলতার অবস্থার উপর ভিত্তি করে PNO স্ক্যানের মধ্যে ব্যবধান বাড়ায়।
সম্ভাব্য গতিশীলতার অবস্থা হল:
-
DEVICE_MOBILITY_STATE_UNKNOWN
: অজানা গতিশীলতা -
DEVICE_MOBILITY_STATE_HIGH_MVMT
: বাইকে বা মোটর গাড়িতে -
DEVICE_MOBILITY_STATE_LOW_MVMT
: হাঁটা বা দৌড়ানো -
DEVICE_MOBILITY_STATE_STATIONARY
: সরছে না৷
ডিভাইসটি স্থির থাকলে, Android ফ্রেমওয়ার্ক PNO স্ক্যানের মধ্যে ব্যবধান 60 সেকেন্ড থেকে বাড়িয়ে 180 সেকেন্ড করে পাওয়ার খরচ কমাতে পারে। এই অপ্টিমাইজেশানটি এই অনুমানে তৈরি করা হয়েছে যে ডিভাইসটি নড়াচড়া না করলে পিএনও স্ক্যানে কোনও নতুন নেটওয়ার্ক খুঁজে পাওয়ার সম্ভাবনা নেই৷
যদি ডিভাইসটি অন্য কোন গতিশীল অবস্থায় থাকে বা যদি পদ্ধতিটি কল না করা হয়, ডিভাইসটি ডিফল্ট PNO স্ক্যান আচরণ ব্যবহার করে।
বাস্তবায়ন
অ্যান্ড্রয়েড 10 বা উচ্চতর সংস্করণে চালিত একটি ডিভাইসে এই পাওয়ার-অপ্টিমাইজিং বৈশিষ্ট্যটি কার্যকর করতে, ডিভাইসের গতিশীলতার তথ্য সংগ্রহ করুন এবং একটি কাস্টম সিস্টেম অ্যাপ থেকে setDeviceMobilityState()
পদ্ধতিতে কল করুন।