ব্যাটারি ব্যবহারের তথ্য ব্যাটারি ব্যবহারের পরিসংখ্যান এবং পাওয়ার প্রোফাইল মান থেকে প্রাপ্ত।
ব্যাটারি ব্যবহারের পরিসংখ্যান
ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে ব্যাটারি ব্যবহারের পরিসংখ্যান নির্ধারণ করে বিভিন্ন রাজ্যে ডিভাইসের উপাদানগুলি কতক্ষণ ব্যয় করে তা ট্র্যাক করে। উপাদান হিসাবে (ওয়াই-ফাই চিপসেট, সেলুলার রেডিও, ব্লুটুথ, জিপিএস, ডিসপ্লে, সিপিইউ) অবস্থা পরিবর্তন করে (অফ/অন, নিষ্ক্রিয়/পূর্ণ শক্তি, কম/উচ্চ উজ্জ্বলতা, ইত্যাদি), নিয়ন্ত্রণকারী পরিষেবা ফ্রেমওয়ার্ক ব্যাটারিস্ট্যাট পরিষেবাতে রিপোর্ট করে। BatteryStats সময়ের সাথে সাথে তথ্য সংগ্রহ করে এবং রিবুট জুড়ে ব্যবহারের জন্য সংরক্ষণ করে। পরিষেবাটি সরাসরি ব্যাটারি কারেন্ট ড্র ট্র্যাক করে না, তবে এর পরিবর্তে সময়ের তথ্য সংগ্রহ করে যা বিভিন্ন উপাদান দ্বারা আনুমানিক ব্যাটারি খরচের জন্য ব্যবহার করা যেতে পারে।
কাঠামো নিম্নলিখিত পদ্ধতি ব্যবহার করে পরিসংখ্যান সংগ্রহ করে:
- ধাক্কা । উপাদান পরিবর্তন সম্পর্কে সচেতন পরিষেবাগুলি ব্যাটারিস্ট্যাট পরিষেবাতে রাজ্যের পরিবর্তনগুলিকে ঠেলে দেয়৷
- টান . অ্যাপস দ্বারা সিপিইউ ব্যবহার করার মতো উপাদানগুলির জন্য, ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে একটি স্ন্যাপশট নেওয়ার জন্য ট্রানজিশন পয়েন্টে ডেটা টেনে নিয়ে যায় (যেমন একটি কার্যকলাপ শুরু করা বা বন্ধ করা)।
রিসোর্স ব্যবহার করে রিসোর্স ব্যবহার অ্যাপ্লিকেশনের সাথে যুক্ত। যখন একাধিক অ্যাপ্লিকেশন একই সাথে একটি সংস্থান ব্যবহার করে (যেমন ওয়েকলক যা সিস্টেমটিকে স্থগিত করা থেকে বাধা দেয়), ফ্রেমওয়ার্ক সেই অ্যাপ্লিকেশনগুলিতে খরচ ছড়িয়ে দেয়, যদিও অগত্যা সমানভাবে নয়।
একটি শাটডাউন ইভেন্টের জন্য ব্যবহার পরিসংখ্যান হারানো এড়াতে, যা ব্যাটারি পাওয়ার খরচের সমস্যা নির্দেশ করতে পারে (যেমন শাটডাউন ঘটে কারণ ব্যাটারি শূন্য অবশিষ্ট ক্ষমতায় পৌঁছেছে), ফ্রেমওয়ার্কটি প্রায় প্রতি 30 মিনিটে পরিসংখ্যান ফ্ল্যাশ করে।
ব্যাটারি ব্যবহারের পরিসংখ্যান সম্পূর্ণরূপে ফ্রেমওয়ার্ক দ্বারা পরিচালিত হয় এবং OEM পরিবর্তনের প্রয়োজন হয় না।
পাওয়ার প্রোফাইল মান
সতর্কতা: ডিভাইস নির্মাতাদের অবশ্যই একটি কম্পোনেন্ট পাওয়ার প্রোফাইল প্রদান করতে হবে যা কম্পোনেন্টের বর্তমান খরচের মান এবং সময়ের সাথে সাথে উপাদানের কারণে আনুমানিক ব্যাটারি ড্রেন নির্ধারণ করে। এই প্রোফাইলটি প্ল্যাটফর্ম/ফ্রেমওয়ার্কস/base/core/res/res/xml/power_profile.xml- এ সংজ্ঞায়িত করা হয়েছে। এই সেটিংসের দিকনির্দেশনার জন্য, পাওয়ার মান দেখুন।
একটি পাওয়ার প্রোফাইলের মধ্যে, পাওয়ার খরচ একটি নামমাত্র ভোল্টেজে বর্তমান ড্রয়ের মিলিঅ্যাম্প (mA) এ নির্দিষ্ট করা হয় এবং মাইক্রোঅ্যাম্প (uA) এ নির্দিষ্ট একটি ভগ্নাংশ মান হতে পারে। মানটি ব্যাটারিতে ব্যবহৃত mA হওয়া উচিত এবং একটি পাওয়ার রেলের জন্য প্রযোজ্য মান নয় যা ব্যাটারি থেকে ব্যবহূত বর্তমানের সাথে সঙ্গতিপূর্ণ নয়৷
উদাহরণস্বরূপ, একটি ডিসপ্লে পাওয়ার প্রোফাইল সর্বনিম্ন উজ্জ্বলতা এবং সর্বোচ্চ উজ্জ্বলতায় ডিসপ্লে চালু রাখার জন্য প্রয়োজনীয় বর্তমানের mA নির্দিষ্ট করে। ডিসপ্লে চালু রাখার পাওয়ার খরচ (অর্থাৎ ডিসপ্লে কম্পোনেন্ট দ্বারা নিষ্কাশিত ব্যাটারি) নির্ধারণ করতে, ফ্রেমওয়ার্ক প্রতিটি উজ্জ্বলতা স্তরে ব্যয় করা সময় ট্র্যাক করে, তারপর সেই সময়ের ব্যবধানগুলিকে একটি ইন্টারপোলেটেড ডিসপ্লে উজ্জ্বলতার খরচ দ্বারা গুণ করে।
ফ্রেমওয়ার্ক প্রতিটি অ্যাপ্লিকেশনের জন্য CPU সময়কে একটি নির্দিষ্ট গতিতে CPU চালানোর জন্য প্রয়োজনীয় mA দ্বারা গুণ করে। এই গণনাটি CPU কোড কার্যকর করার মাধ্যমে একটি অ্যাপ্লিকেশন কত ব্যাটারি খরচ করে তার একটি তুলনামূলক র্যাঙ্কিং স্থাপন করে (ফোরগ্রাউন্ড অ্যাপ হিসাবে সময় এবং পটভূমি কার্যকলাপ সহ মোট সময় আলাদাভাবে রিপোর্ট করা হয়)।