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

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

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

অ্যান্ড্রয়েড ৯ বা তার নিম্নতর সংস্করণে চালিত ডিভাইসগুলিতে, যখন ডিভাইসটি ওয়াই-ফাই থেকে সংযোগ বিচ্ছিন্ন থাকে এবং স্ক্রিন বন্ধ থাকে, তখন প্রথম তিনটি স্ক্যান ২০ সেকেন্ডের ব্যবধানে সম্পন্ন হয়, এবং এরপরের সমস্ত স্ক্যানের জন্য এর গতি কমে প্রতি ৬০ সেকেন্ডে একটি স্ক্যান হয়। সংরক্ষিত কোনো নেটওয়ার্ক খুঁজে পাওয়া গেলে বা স্ক্রিন চালু করা হলে PNO স্ক্যানিং বন্ধ হয়ে যায়।

অ্যান্ড্রয়েড ১০-এ WifiManagersetDeviceMobilityState() নামে একটি ঐচ্ছিক API মেথড চালু করা হয়েছে, যা বিদ্যুৎ খরচ কমানোর জন্য ডিভাইসের গতিশীলতার অবস্থার ওপর ভিত্তি করে PNO স্ক্যানের মধ্যবর্তী ব্যবধান বাড়িয়ে দেয়।

সম্ভাব্য গতিশীলতার অবস্থাগুলো হলো:

  • DEVICE_MOBILITY_STATE_UNKNOWN : অজানা গতিশীলতা
  • DEVICE_MOBILITY_STATE_HIGH_MVMT : বাইকে বা মোটরযানে
  • DEVICE_MOBILITY_STATE_LOW_MVMT : হাঁটা বা দৌড়ানো
  • DEVICE_MOBILITY_STATE_STATIONARY : নড়াচড়া করছে না

ডিভাইসটি স্থির থাকলে, বিদ্যুৎ খরচ কমাতে অ্যান্ড্রয়েড ফ্রেমওয়ার্ক PNO স্ক্যানের মধ্যবর্তী ব্যবধান ৬০ সেকেন্ড থেকে বাড়িয়ে ১৮০ সেকেন্ড করে দেয়। এই অপটিমাইজেশনটি এই অনুমানের উপর ভিত্তি করে করা হয় যে, ডিভাইসটি স্থির থাকলে PNO স্ক্যানের মাধ্যমে নতুন কোনো নেটওয়ার্ক খুঁজে পাওয়ার সম্ভাবনা কম।

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

বাস্তবায়ন

অ্যান্ড্রয়েড ১০ বা তার উচ্চতর সংস্করণে চালিত কোনো ডিভাইসে এই শক্তি-অপ্টিমাইজেশন বৈশিষ্ট্যটি প্রয়োগ করতে, ডিভাইসের গতিশীলতার তথ্য সংগ্রহ করুন এবং একটি কাস্টম সিস্টেম অ্যাপ থেকে setDeviceMobilityState() পদ্ধতিটি কল করুন।