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