Hồ sơ năng lượng cho Android

Thông tin về mức sử dụng pin được lấy từ số liệu thống kê về mức sử dụng pin và các giá trị hồ sơ năng lượng.

Số liệu thống kê về mức sử dụng pin

Khung này tự động xác định số liệu thống kê về mức sử dụng pin bằng cách theo dõi thời gian các thành phần của thiết bị ở trong các trạng thái khác nhau. Khi các thành phần (chipset Wi-Fi, đài di động, Bluetooth, GPS, màn hình, CPU) thay đổi trạng thái (TẮT/BẬT, không hoạt động/đầy pin, độ sáng thấp/cao, v.v.), dịch vụ kiểm soát sẽ báo cáo cho dịch vụ BatteryStats của khung. BatteryStats thu thập thông tin theo thời gian và lưu trữ thông tin đó để sử dụng trong các lần khởi động lại. Dịch vụ này không theo dõi trực tiếp mức tiêu thụ pin hiện tại, mà thay vào đó, dịch vụ này thu thập thông tin về thời gian có thể dùng để ước tính mức tiêu thụ pin của các thành phần khác nhau.

Khung này thu thập số liệu thống kê bằng các phương thức sau:

  • Thông báo đẩy. Các dịch vụ nhận biết được những thay đổi về thành phần sẽ đẩy các thay đổi về trạng thái đến dịch vụ BatteryStats.
  • Kéo. Đối với các thành phần như mức sử dụng CPU của ứng dụng, khung sẽ tự động kéo dữ liệu tại các điểm chuyển đổi (chẳng hạn như bắt đầu hoặc dừng một hoạt động) để chụp nhanh.

Mức tiêu thụ tài nguyên được liên kết với ứng dụng sử dụng tài nguyên đó. Khi nhiều ứng dụng đồng thời sử dụng một tài nguyên (chẳng hạn như wakelock ngăn hệ thống tạm ngưng), khung sẽ phân bổ mức tiêu thụ cho các ứng dụng đó, mặc dù không nhất thiết phải phân bổ đều.

Để tránh mất số liệu thống kê sử dụng cho một sự kiện tắt nguồn (có thể cho biết vấn đề về mức tiêu thụ pin, tức là tắt nguồn do pin đã hết điện), khung sẽ nhấp nháy số liệu thống kê khoảng 30 phút một lần.

Số liệu thống kê về mức sử dụng pin hoàn toàn do khung xử lý và không yêu cầu OEM sửa đổi.

Giá trị hồ sơ nguồn

Thận trọng: Nhà sản xuất thiết bị phải cung cấp một hồ sơ công suất thành phần xác định giá trị tiêu thụ hiện tại cho thành phần và mức tiêu hao pin gần đúng do thành phần gây ra theo thời gian. Hồ sơ này được xác định trong platform/frameworks/base/core/res/res/xml/power_profile.xml. Để biết hướng dẫn về các chế độ cài đặt này, hãy xem phần Giá trị công suất.

Trong một hồ sơ năng lượng, mức tiêu thụ năng lượng được chỉ định bằng miliampe (mA) của dòng điện ở điện áp danh định và có thể là một giá trị phân số được chỉ định bằng microampe (uA). Giá trị này phải là mA tiêu thụ ở pin chứ không phải là giá trị áp dụng cho một đường dẫn nguồn không tương ứng với dòng điện tiêu thụ từ pin.

Ví dụ: hồ sơ nguồn màn hình chỉ định số mA dòng điện cần thiết để duy trì màn hình ở độ sáng tối thiểu và độ sáng tối đa. Để xác định chi phí điện năng (tức là pin bị tiêu hao bởi thành phần màn hình) khi bật màn hình, khung sẽ theo dõi thời gian đã dùng ở mỗi mức độ sáng, sau đó nhân các khoảng thời gian đó với chi phí độ sáng màn hình được nội suy.

Khung này cũng nhân thời gian CPU cho mỗi ứng dụng với mA cần thiết để chạy CPU ở một tốc độ cụ thể. Phép tính này thiết lập thứ hạng so sánh về lượng pin mà một ứng dụng tiêu thụ bằng cách thực thi mã CPU (thời gian dưới dạng ứng dụng trên nền trước và tổng thời gian bao gồm cả hoạt động trên nền sau được báo cáo riêng).