اطلاعات استفاده از باتری از آمار استفاده از باتری و مقادیر نمایه قدرت استخراج میشود.
آمار مصرف باتری
این چارچوب با ردیابی مدت زمانی که اجزای دستگاه در حالتهای مختلف سپری میکنند، بهطور خودکار آمار استفاده از باتری را تعیین میکند. وقتی قطعات (مجموعه تراشه Wi-Fi، رادیو سلولی، بلوتوث، GPS، نمایشگر، CPU) وضعیتشان تغییر میکند (خاموش/روشن، غیرفعال/قدرت کامل، روشنایی کم/زیاد، و غیره)، سرویس کنترلکننده به سرویس BatteryStats چارچوب گزارش میدهد. BatteryStats اطلاعات را درطول زمان جمعآوری میکند و آن را برای استفاده در راهاندازیهای مجدد ذخیره میکند. این سرویس مستقیماً میزان مصرف باتری را ردیابی نمیکند، بلکه اطلاعات زمانبندی را جمعآوری میکند که میتوان از آن برای تخمین میزان مصرف باتری توسط اجزای مختلف استفاده کرد.
چارچوب بااستفاده از روشهای زیر آمار را جمعآوری میکند:
- فشار دادن. سرویسهایی که از تغییرات مؤلفه آگاه هستند، تغییرات وضعیت را به سرویس BatteryStats ارسال میکنند.
- کشیدن. برای مؤلفههایی مثل استفاده از CPU توسط برنامهها، چارچوب بهطور خودکار دادهها را در نقاط انتقال (مثل شروع یا توقف فعالیت) میکشد تا یک نمای فوری بگیرد.
مصرف منابع با برنامهای که از منابع استفاده میکند مرتبط است. وقتی چند برنامه بهطور همزمان از منبعی استفاده میکنند (مثل قفلهای بیداری که از تعلیق سیستم جلوگیری میکنند)، چارچوب مصرف را بین آن برنامهها توزیع میکند، هرچند لزوماً بهطور مساوی توزیع نمیشود.
برای جلوگیری از ازدست رفتن آمار استفاده برای رویداد خاموش شدن، که ممکن است نشاندهنده مشکلات مصرف باتری باشد (یعنی خاموش شدن بهدلیل رسیدن باتری به صفر ظرفیت باقیمانده رخ میدهد)، چارچوب تقریباً هر ۳۰ دقیقه آمار را بهسرعت نمایش میدهد.
آمار مصرف باتری کاملاً توسط چارچوب مدیریت میشود و نیازی به اصلاحات OEM ندارد.
مقادیر نمایه مصرف انرژی
احتیاط: سازندگان دستگاه باید نمایه مصرف برق قطعه را ارائه دهند که مقدار مصرف فعلی قطعه و خالی شدن تقریبی شارژ باتری ناشی از قطعه را درطول زمان تعریف میکند. این نمایه در platform/frameworks/base/core/res/res/xml/power_profile.xml تعریف شده است. برای راهنمایی درباره این تنظیمات، مقادیر توان را ببینید.
در نمایه قدرت، مصرف برق برحسب میلیآمپر (mA) جریان در ولتاژ اسمی مشخص میشود و میتواند مقدار کسری برحسب میکروآمپر (uA) باشد. مقدار باید میلیآمپر مصرفشده در باتری باشد و نه مقداری که برای خط انتقال قدرت که با جریان مصرفشده از باتری مطابقت ندارد قابلاعمال باشد.
برای مثال، نمایه مصرف برق نمایشگر مقدار میلیآمپر جریان موردنیاز برای روشن نگه داشتن نمایشگر در حداقل روشنایی و حداکثر روشنایی را مشخص میکند. برای تعیین هزینه برق (یعنی باتریای که توسط عنصر نمایشگر تخلیه میشود) برای روشن نگه داشتن نمایشگر، چارچوب زمان صرفشده در هر سطح روشنایی را ردیابی میکند، سپس آن بازههای زمانی را در هزینه روشنایی نمایشگر درونیابیشده ضرب میکند.
این چارچوب همچنین زمان واحد پردازش مرکزی را برای هر برنامه در میلیآمپر موردنیاز برای اجرای واحد پردازش مرکزی در سرعت خاصی ضرب میکند. این محاسبه رتبهبندی مقایسهای از میزان مصرف باتری توسط یک برنامه با اجرای کد CPU ایجاد میکند (زمان بهعنوان برنامه پیشزمینه و زمان کل شامل فعالیت پسزمینه بهطور جداگانه گزارش میشود).