Kiểm tra mức sử dụng pin bằng Trình phân tích năng lượng (Energy Profiler)

Trình phân tích năng lượng giúp bạn xác định được những thời điểm mà ứng dụng của bạn cần nhiều năng lượng hơn mức cần thiết.

Trình phân tích năng lượng theo dõi việc sử dụng CPU, mạng radio và cảm biến GPS, đồng thời hiển thị hình ảnh mức năng lượng mà mỗi thành phần này sử dụng. Trình phân tích năng lượng cũng cho bạn biết các lần xuất hiện sự kiện hệ thống (khoá chế độ thức, chuông báo, công việc và yêu cầu vị trí) có thể ảnh hưởng đến mức tiêu thụ năng lượng.

Trình phân tích năng lượng không đo lường trực tiếp mức tiêu thụ năng lượng. Thay vào đó, công cụ này sử dụng một mô hình ước tính mức tiêu thụ năng lượng của mỗi tài nguyên trên thiết bị.

Tổng quan về Trình phân tích năng lượng

Trình phân tích năng lượng xuất hiện dưới dạng một hàng trong cửa sổ Profiler (Trình phân tích tài nguyên) khi bạn chạy ứng dụng trên một thiết bị được kết nối hoặc Trình mô phỏng Android chạy Android 8.0 (API 26) trở lên.

Để mở Trình phân tích năng lượng, hãy làm theo các bước sau:

  1. Chọn View > Tool Windows > Profiler (Xem > Cửa sổ công cụ > Trình phân tích tài nguyên) hoặc nhấp vào Profile (Hồ sơ) trên thanh công cụ.

    Nếu hộp thoại Select Deployment Target (Chọn đối tượng triển khai) cho thấy lời nhắc, hãy chọn thiết bị nơi bạn muốn triển khai ứng dụng để phân tích. Nếu bạn đã kết nối thiết bị qua USB nhưng không thấy thiết bị đó trong danh sách, hãy đảm bảo rằng bạn đã bật tính năng gỡ lỗi USB.

  2. Nhấp vào một vị trí bất kỳ trong dòng thời gian Energy (Năng lượng) để mở Trình phân tích năng lượng.

Khi mở Trình phân tích năng lượng, bạn sẽ ngay lập tức nhìn thấy mức sử dụng năng lượng ước tính của ứng dụng. Hãy xem minh hoạ về những gì bạn sẽ thấy trong Hình 1.

Hình 1. Các dòng thời gian trong Trình phân tích năng lượng.

Như minh hoạ trong Hình 1, chế độ xem mặc định của Trình phân tích năng lượng bao gồm các dòng thời gian sau:

  1. Dòng thời gian sự kiện: Hiển thị các hoạt động trong ứng dụng của bạn khi các hoạt động này chuyển đổi qua các trạng thái khác nhau trong vòng đời của ứng dụng. Dòng thời gian này cũng cho biết những hoạt động tương tác của người dùng với thiết bị, bao gồm cả các sự kiện xoay màn hình.
  2. Dòng thời gian năng lượng: Cho biết mức tiêu thụ năng lượng ước tính của ứng dụng.
  3. Dòng thời gian hệ thống: Cho biết các sự kiện hệ thống có thể ảnh hưởng đến mức tiêu thụ năng lượng.

Để xem bảng thông tin chi tiết về mức sử dụng năng lượng của các tài nguyên CPU, mạng và vị trí (GPS), cũng như các sự kiện hệ thống có liên quan, hãy đặt con trỏ chuột lên một thanh trong dòng thời gian Energy (Năng lượng).

Kiểm tra các sự kiện hệ thống: khoá chế độ thức, công việc và chuông báo

Bạn có thể sử dụng Trình phân tích năng lượng để tìm các sự kiện hệ thống có thể ảnh hưởng đến mức tiêu thụ năng lượng, bao gồm cả các khoá chế độ thức, công việc và chuông báo:

  • Khoá chế độ thức là một cơ chế để giữ cho CPU hoặc màn hình luôn bật khi thiết bị chuyển sang chế độ ngủ. Ví dụ: một ứng dụng phát video có thể sử dụng khoá chế độ thức để màn hình luôn bật khi người dùng không tương tác với thiết bị. Yêu cầu khoá chế độ thức không phải là một hành động tốn nhiều năng lượng, nhưng việc không mở khoá chế độ thức có thể khiến màn hình hoặc CPU bật lâu hơn mức cần thiết, điều này có thể làm cạn kiệt pin nhanh chóng. Để biết thêm thông tin, hãy xem hướng dẫn về cách sử dụng khoá chế độ thức.

  • Bạn có thể sử dụng chuông báo để chạy các tác vụ nền ngoài phạm vi bối cảnh của ứng dụng theo định kỳ. Khi chuông báo kích hoạt, thiết bị có thể được đánh thức và chạy mã tiêu tốn nhiều năng lượng. Để biết thêm thông tin, hãy xem hướng dẫn về cách sử dụng chuông báo.

  • Bạn có thể sử dụng job (công việc) để thực hiện các hành động theo điều kiện được xác định, chẳng hạn như khi có thể sử dụng mạng. Bạn tạo công việc bằng JobBuilder và lên lịch công việc bằng JobScheduler. Trong nhiều trường hợp, phương pháp được đề xuất là sử dụng công việc với JobScheduler thay vì chuông báo hoặc khoá chế độ thức.

  • Các yêu cầu vị trí có sử dụng cảm biến GPS có thể tiêu thụ một lượng năng lượng đáng kể. Để biết thông tin về cách tiết kiệm năng lượng khi yêu cầu vị trí, hãy xem phần Tối ưu hoá vị trí để tiết kiệm pin.

Trình phân tích năng lượng giúp bạn dễ dàng tìm ra các thời điểm mà ứng dụng của bạn sử dụng từng tính năng trong số này, để bạn có thể đưa ra quyết định sáng suốt về cách sử dụng từng tính năng.

Trình phân tích năng lượng trình bày một thanh có mã màu (color code) trong dòng thời gian System (Hệ thống) bên dưới dòng thời gian Energy (Năng lượng). Thanh này dùng để hiển thị phạm vi thời gian khi một sự kiện hệ thống đang hoạt động. Các khoá chế độ thức được biểu thị bằng thanh màu đỏ; các công việc và chuông báo được biểu thị bằng thanh màu vàng; và các sự kiện vị trí được biểu thị bằng thanh màu tím nhạt.

Hình 2 cho thấy Trình phân tích năng lượng và trình soạn thảo mã đang mở mã nguồn chịu trách nhiệm về khoá chế độ thức chưa được phát hành.

Hình 2. Sử dụng Trình phân tích năng lượng để tìm khoá chế độ thức.

  1. Để mở ngăn System Event (Sự kiện hệ thống) và hiển thị thông tin chi tiết về các sự kiện như khoá chế độ thức, hãy chọn một khoảng thời gian trong dòng thời gian Energy (Năng lượng).
  2. Để mở ngăn Wake Lock Details (Chi tiết khoá chế độ thức) và hiển thị chi tiết về một khoá chế độ thức cụ thể, hãy chọn khoá chế độ thức trong ngăn System Event (Sự kiện hệ thống).
  3. Để mở trình soạn thảo mã và chuyển đến mã nguồn của khoá chế độ thức, hãy nhấp đúp vào mục nhập của phương thức gọi ở đầu ngăn xếp lệnh gọi trong ngăn Wake Lock Details (Chi tiết khoá chế độ thức).
  4. Lệnh gọi dùng để sử dụng khoá chế độ thức được làm nổi bật trong trình chỉnh sửa nguồn.

Về cơ bản, hướng dẫn hiển thị thông tin chi tiết về các sự kiện hệ thống khác cũng giống như hướng dẫn về khoá chế độ thức, với thông tin dành riêng cho từng loại sự kiện trong ngăn thông tin chi tiết của sự kiện. Ví dụ: ngăn Job Details (Chi tiết công việc) sẽ hiển thị ngăn xếp lệnh gọi của các phần mã lúc công việc được lên lịch và khi công việc kết thúc.