วิเคราะห์การใช้พลังงานด้วย Charge Historian

เครื่องมือ Charge Historian ให้ข้อมูลเชิงลึกเกี่ยวกับการใช้แบตเตอรี่ของอุปกรณ์ เมื่อเวลาผ่านไป ในระดับทั้งระบบ เครื่องมือจะแสดงภาพเหตุการณ์ที่เกี่ยวข้องกับพลังงานจาก บันทึกของระบบในรูปแบบ HTML ในระดับเฉพาะแอป เครื่องมือ มีข้อมูลที่หลากหลายซึ่งสามารถช่วยคุณระบุแอปที่ทำให้แบตเตอรี่หมดเร็ว พฤติกรรมของคุณ

เอกสารฉบับนี้อธิบายวิธีต่างๆ ที่คุณจะใช้ Device Historian ในการเรียนรู้ได้ เกี่ยวกับรูปแบบการใช้แบตเตอรี่ เอกสารเริ่มต้นด้วยการอธิบายวิธี อ่านข้อมูลของทั้งระบบที่ Charge Historian รายงาน จากนั้นก็นำเสนอวิธี ซึ่งคุณสามารถใช้นักประวัติศาสตร์แบตเตอรี่เพื่อวินิจฉัยและแก้ปัญหาด้วยตัวเอง ลักษณะการทำงานของแอปที่เกี่ยวข้องกับการใช้แบตเตอรี่ สุดท้ายนี้ เราให้เคล็ดลับหลายอย่างเกี่ยวกับ สถานการณ์ที่ประหยัดแบตเตอรี่สำหรับประวัติศาสตร์ โดยเฉพาะ

ใช้มุมมองทั้งระบบ

เครื่องมือ Charge Historian ช่วยแสดงภาพของแอปต่างๆ แบบทั้งระบบ และลักษณะการทำงานของระบบ รวมถึงความสัมพันธ์กับการใช้แบตเตอรี่ เมื่อเวลาผ่านไป มุมมองนี้ซึ่งแสดงในรูปที่ 1 สามารถช่วยคุณวิเคราะห์และระบุ ปัญหาการใช้พลังงานของแอป

วันที่ การแสดงเหตุการณ์ทั่วทั้งระบบของแบตเตอรี่ประวัติศาสตร์ซึ่งส่งผลต่อพลังงาน
  การบริโภค
รูปที่ 1 การแสดงเหตุการณ์ทั่วทั้งระบบของ Charge Historian ซึ่งส่งผลต่อการใช้พลังงาน

สิ่งที่สนใจเป็นพิเศษของตัวเลขนี้คือแนวโน้มขาลง แนวนอน และสีดำ เส้นที่แสดงถึงระดับแบตเตอรี่ วัดจากแกน Y ตัวอย่างเช่น ที่ ในช่วงต้นของเส้นระดับแบตเตอรี่ ที่เวลาประมาณ 6:50 น. ที่แสดงให้เห็นในระดับแบตเตอรี่ที่ลดลงค่อนข้างสูง

รูปที่ 2 แสดงภาพระยะใกล้ของส่วนดังกล่าวของหน้าจอ

วันที่ ภาพระยะใกล้ของไทม์ไลน์แบตเตอรี่ประวัติศาสตร์ตั้งแต่เวลาประมาณ 6:50 น. ถึง 7:20 น.
รูปที่ 2 ภาพระยะใกล้ของไทม์ไลน์แบตเตอรี่ประวัติศาสตร์จาก ประมาณ 6:50 น. ถึง 7:20 น.

ในช่วงแรกของเส้นระดับแบตเตอรี่ ขณะที่แบตเตอรี่ลดลงอย่างรวดเร็ว จอแสดงผลจะแสดง 3 สิ่งที่เกิดขึ้น ได้แก่ CPU กำลังทำงาน และแอปได้เข้าซื้อ Wake Lock และหน้าจอเปิดอยู่ ซึ่งการใช้งานแบตเตอรี่ประวัติศาสตร์จะช่วยคุณ เข้าใจเหตุการณ์ที่เกิดขึ้นเมื่อการใช้แบตเตอรี่สูง คุณสามารถ จากนั้นให้กำหนดเป้าหมายพฤติกรรมเหล่านี้ในแอปของคุณและตรวจสอบว่ามี การเพิ่มประสิทธิภาพที่เกี่ยวข้องที่คุณสามารถทำได้

การแสดงข้อมูลผ่านภาพทั่วทั้งระบบสามารถให้เบาะแสอื่นๆ ได้เช่นกัน ตัวอย่างเช่น หาก แสดงว่ามีการปิดและเปิดวิทยุมือถือบ่อยๆ ก็เป็นโอกาสที่จะเพิ่มประสิทธิภาพพฤติกรรมนี้โดย API การกำหนดเวลาอัจฉริยะ เช่น JobScheduler หรือ Firebase Job Dispatcher

ส่วนถัดไปจะอธิบายวิธีตรวจสอบลักษณะการทำงานและเหตุการณ์ที่เกี่ยวข้องกับ แอปของคุณเองได้

ดูข้อมูลเฉพาะแอป

นอกเหนือจากข้อมูลระดับมาโครที่มาจากมุมมองทั้งระบบแล้ว แบตเตอรี่ นักประวัติศาสตร์ยังมีตารางและการแสดงภาพข้อมูลบางอย่างสำหรับแต่ละ ทำงานบนอุปกรณ์ของคุณ ข้อมูลแบบตารางประกอบด้วยข้อมูลต่อไปนี้

  • การใช้พลังงานโดยประมาณของแอปในอุปกรณ์
  • ข้อมูลเครือข่าย
  • Wake Lock
  • บริการ
  • ข้อมูลกระบวนการ

ตารางจะแสดงมิติข้อมูล 2 รายการเกี่ยวกับแอป ก่อนอื่น คุณสามารถค้นหา ในอันดับการใช้พลังงานของแอปเมื่อเทียบกับแอปอื่นๆ โดยคลิก ตารางค่าประมาณพลังงานของอุปกรณ์ในส่วนตาราง ตัวอย่างนี้เป็นการตรวจสอบสมมติ แอปชื่อ Pug Power

วันที่ ตรวจสอบว่าแอปใดใช้พลังงานไฟมากที่สุด
รูปที่ 3 ตรวจสอบว่าแอปใดใช้พลังงานไฟมากที่สุด

ตารางในรูปที่ 3 เปิดเผยว่า Pug Power เป็นผู้บริโภครายใหญ่อันดับ 9 กำลังแบตเตอรี่ในอุปกรณ์นี้ และแอปที่ใหญ่เป็นอันดับ 3 ไม่ได้เป็นส่วนหนึ่งของ OS ข้อมูลนี้ชี้ให้เห็นว่าแอปนี้มีการตรวจสอบที่ละเอียดยิ่งขึ้น

หากต้องการค้นหาข้อมูลสำหรับแอปใดโดยเฉพาะ ให้ป้อนชื่อแพ็กเกจของแอปนั้นต่อท้าย เมนูแบบเลื่อนลง 2 เมนูในส่วนการเลือกแอปซึ่งอยู่ด้านซ้ายของ การแสดงข้อมูลผ่านภาพ

วันที่ การป้อนแอปที่เฉพาะเจาะจงซึ่งมีข้อมูลที่ต้องการดู
รูปที่ 4 การป้อนแอปที่เฉพาะเจาะจงซึ่งมีข้อมูลที่ต้องการดู

เมื่อเลือกแอปที่ต้องการ หมวดหมู่การแสดงข้อมูลผ่านภาพต่อไปนี้ เปลี่ยนเป็นแสดงข้อมูลเฉพาะแอปแทนข้อมูลทั้งระบบ

  • SyncManager
  • กระบวนการเบื้องหน้า
  • การล็อกการทำงานโดยผู้ใช้
  • แอปยอดนิยม
  • JobScheduler
  • เครื่องมือจัดการกิจกรรม Proc.

การแสดงข้อมูลผ่านภาพ SyncManager และ JobScheduler จะช่วยให้เห็นได้ชัดหาก แอปของคุณซิงค์และดำเนินงานบ่อยกว่าที่จำเป็น ใน การทำเช่นนี้จะช่วยให้แอปแสดงโอกาสในการเพิ่มประสิทธิภาพลักษณะการทำงานของแอปได้อย่างรวดเร็ว เพื่อประสิทธิภาพแบตเตอรี่ที่ดีขึ้น

คุณยังดูข้อมูลการแสดงภาพเฉพาะแอปเพิ่มอีก 1 รายการได้ด้วย Userspace Wakelock หากต้องการรวมข้อมูลนี้ไว้ในรายงานข้อบกพร่อง ให้ป้อน คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลของคุณ

$ adb shell dumpsys batterystats --enable full-wake-history

ภาพ 5 และ 6 แสดงข้อมูลสำหรับ Pug Power: รูปที่ 5 แสดงภาพของ ข้อมูลเฉพาะของแอป และรูปที่ 6 แสดงข้อมูลแบบตารางที่เกี่ยวข้อง

วันที่ การแสดงภาพข้อมูลสำหรับแอปสมมติ Pug Power
รูปที่ 5 การแสดงภาพข้อมูลสำหรับแอปสมมติ Pug Power


ข้อมูลแบบตารางสำหรับแอป Pug Power สมมติ

รูปที่ 6 ข้อมูลแบบตารางสำหรับแอป Pug Power สมมติ

การดูภาพไม่ได้แสดงข้อมูลที่เห็นได้ชัดในทันที บรรทัด JobScheduler จะแสดงว่าแอปไม่มีงานที่กำหนดเวลาไว้ บรรทัด SyncManager แสดงว่าแอปไม่ได้ทำการซิงค์ใดๆ

แต่เมื่อตรวจสอบกลุ่ม Wakelocks จากข้อมูลแบบตารางพบว่า Pug Power ได้ Wake Lock โดยใช้เวลารวมกว่า 1 ชั่วโมง การค้นหาที่ไม่ปกติและมีค่าใช้จ่ายสูงนี้ อาจทำให้แอปมีการใช้พลังงานสูง ชิ้นนี้ ที่ช่วยให้นักพัฒนากำหนดเป้าหมายพื้นที่ที่น่าจะมีการเพิ่มประสิทธิภาพ จะช่วยได้อย่างมาก ทำไมแอปจึงได้เวลาปลุกระบบนาน และนักพัฒนาซอฟต์แวร์จะช่วยปรับปรุงพฤติกรรมดังกล่าวได้อย่างไร

กรณีอื่นๆ ที่ Charge Historian ช่วยได้

ยังมีอีกหลายกรณีที่ Container Historian ช่วยวินิจฉัยได้ โอกาสปรับปรุงการทำงานของแบตเตอรี่ ตัวอย่างเช่น Charge Historian จะบอกคุณว่าแอปของคุณ

  • การปลุกแบบปลุกบ่อยเกินไป (ทุกๆ 10 วินาทีหรือน้อยกว่า)
  • ล็อก GPS ค้างไว้อย่างต่อเนื่อง
  • การกำหนดเวลางานทุก 30 วินาทีหรือน้อยกว่า
  • การกำหนดเวลาซิงค์ทุกๆ 30 วินาทีหรือน้อยกว่า
  • การใช้วิทยุมือถือบ่อยกว่าที่คาดไว้