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