ওয়াই-ফাই পছন্দসই নেটওয়ার্ক অফলোড স্ক্যানিং

ওয়াই-ফাইয়ের কম ব্যাটারিতে পছন্দসই নেটওয়ার্ক (PNO) স্ক্যান হল কম ব্যাটারিতে ওয়াই-ফাই স্ক্যান যা নিয়মিত বিরতিতে হয় যখন কোনও ডিভাইস ওয়াই-ফাই থেকে ডিসকানেক্ট হয়ে যায় এবং স্ক্রিন বন্ধ থাকে। সেভ করা নেটওয়ার্ক খুঁজতে ও কানেক্ট করতে PNO স্ক্যান ব্যবহার করা হয়। ফ্রেমওয়ার্ক NL80211_CMD_START_SCHED_SCAN কমান্ড ব্যবহার করে এইসব স্ক্যান শিডিউল করে। আরও তথ্যের জন্য, nl80211.h দেখুন।

ডিভাইসের গতিশীলতা সংক্রান্ত তথ্য ব্যবহার করে ব্যাটারির ব্যবহার অপ্টিমাইজ করা

Android 9 বা এর আগের যেকোনও ভার্সনে চলা ডিভাইসে, ডিভাইসটি ওয়াই-ফাই থেকে ডিসকানেক্ট হয়ে গেলে এবং স্ক্রিন বন্ধ থাকলে, PNO স্ক্যান ২০ সেকেন্ড ইন্টারভ্যালে প্রথম তিনটি স্ক্যানের জন্য হয়, তারপর পরবর্তী সব স্ক্যানের জন্য প্রতি ৬০ সেকেন্ডে একটি করে স্ক্যান হয়। সেভ করা কোনও নেটওয়ার্ক খুঁজে পাওয়া গেলে অথবা স্ক্রিন চালু করা হলে 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 স্ক্যানের মধ্যেকার ইন্টারভ্যাল ৬০ সেকেন্ড থেকে ১৮০ সেকেন্ডে বাড়িয়ে দেয়, এর ফলে পাওয়ার ব্যবহার কমে যায়। এই অপ্টিমাইজেশন এই অনুমান করে করা হয় যে ডিভাইসটি চলমান না থাকলে, PNO স্ক্যানে কোনও নতুন নেটওয়ার্ক খুঁজে পাওয়ার সম্ভাবনা কম।

ডিভাইস অন্য কোনও মোবিলিটি স্টেটে থাকলে অথবা পদ্ধতিটি কল করা না হলে, ডিভাইস ডিফল্ট PNO স্ক্যান আচরণ ব্যবহার করে।

প্রয়োগ

Android 10 বা তার পরবর্তী যেকোনও ভার্সন রান করছে এমন ডিভাইসে এই পাওয়ার-অপ্টিমাইজিং ফিচার প্রয়োগ করতে, ডিভাইসের মোবিলিটি সংক্রান্ত তথ্য বের করুন এবং কাস্টম সিস্টেম অ্যাপ থেকে setDeviceMobilityState() পদ্ধতি কল করুন।