המידע על השימוש בסוללה נגזר מסטטיסטיקות השימוש בסוללה ומערכי הנתונים של פרופיל צריכת החשמל.
נתונים סטטיסטיים על השימוש בסוללה
המסגרת קובעת באופן אוטומטי את נתוני הסטטיסטיקה של השימוש בסוללה על ידי מעקב אחרי משך הזמן שבו רכיבי המכשיר נמצאים במצבים שונים. כשהרכיבים (ערכת השבבים של ה-Wi-Fi, הרדיו הסלולרי, ה-Bluetooth, ה-GPS, המסך, המעבד) משנים מצבים (מושבת/מופעל, במצב המתנה/במלוא העוצמה, בהירות נמוכה/גבוהה וכו'), השירות השולט מדווח לשירות BatteryStats של המסגרת. השירות BatteryStats אוסף מידע לאורך זמן ומאחסן אותו לשימוש במהלך הפעלות מחדש. השירות לא עוקב ישירות אחרי צריכת הזרם של הסוללה, אלא אוסף מידע על תזמון שאפשר להשתמש בו כדי לקבל הערכה לגבי צריכת הסוללה על ידי רכיבים שונים.
המערכת אוספת נתונים סטטיסטיים באמצעות השיטות הבאות:
- Push. שירותים שמזהים שינויים ברכיבים מעבירים את שינויי המצב לשירות BatteryStats.
- משיכה. לרכיבים כמו השימוש של אפליקציות ב-CPU, המסגרת שולפת את הנתונים באופן אוטומטי בנקודות מעבר (למשל, הפעלה או הפסקה של פעילות) כדי לצלם קובץ snapshot.
צריכת המשאבים משויכת לאפליקציה שמשתמשת במשאב. כשמספר אפליקציות משתמשות במשאב בו-זמנית (למשל, wakelocks שמונעים מהמערכת להשהות את עצמה), המסגרת מפזרת את הצריכה בין האפליקציות האלה, אבל לא בהכרח באופן שווה.
כדי למנוע אובדן של נתונים סטטיסטיים של שימוש באירוע כיבוי, שעשויים להצביע על בעיות בצריכת הסוללה (כלומר, כיבוי מתרחש כי הסוללה הגיעה לאפס קיבולת שנותר), המערכת מציגה את הנתונים הסטטיסטיים בפלאש כל 30 דקות בערך.
המערכת מטפלת בנתונים הסטטיסטיים של השימוש בסוללה באופן מלא, ללא צורך בשינויים של יצרני ציוד מקורי (OEM).
ערכי פרופיל צריכת החשמל
זהירות: יצרני המכשירים חייבים לספק פרופיל צריכת אנרגיה של רכיב שמגדיר את ערך הצריכה הנוכחי של הרכיב ואת הירידה המשוערת ברמת הטעינה של הסוללה שנגרמת על ידי הרכיב לאורך זמן. הפרופיל הזה מוגדר בקובץ platform/frameworks/base/core/res/res/xml/power_profile.xml. הנחיות לגבי ההגדרות האלה מפורטות במאמר ערכי הספק.
בפרופיל צריכת החשמל, צריכת החשמל מצוינה במיליאמפר (mA) של זרם מושך במתח נומינלי, ויכולה להיות ערך חלקי שמצוין במיקרואמפר (uA). הערך צריך להיות זרם ה-mA הנצרך בסוללה, ולא ערך שרלוונטי למסלול אספקת חשמל שלא תואם לזרם הנצרך מהסוללה.
לדוגמה, פרופיל צריכת האנרגיה של המסך מציין את זרם ה-mA הנדרש כדי שהמסך ימשיך לפעול בהבהירות המינימלית ובבהירות המקסימלית. כדי לקבוע את עלות החשמל (כלומר, טעינה של הסוללה על ידי רכיב המסך) של הפעלת המסך, המסגרת עוקבת אחרי משך הזמן שבו המסך פועל בכל רמת בהירות, ומכפילה את מרווחי הזמן האלה בעלות משוערת של הבהירות של המסך.
המסגרת גם מכפילה את זמן המעבד של כל אפליקציה במיליאמפר שנדרשים להפעלת המעבד במהירות ספציפית. החישוב הזה מאפשר ליצור דירוג השוואתי של צריכת הסוללה של אפליקציה על ידי ביצוע קוד במעבד (הזמן שבו האפליקציה הייתה באפליקציית החזית והזמן הכולל, כולל פעילות ברקע, מדווחים בנפרד).