เครื่องมือ Charge Historian ให้ข้อมูลเชิงลึกเกี่ยวกับการใช้แบตเตอรี่ของอุปกรณ์ เมื่อเวลาผ่านไป ในระดับทั้งระบบ เครื่องมือจะแสดงภาพเหตุการณ์ที่เกี่ยวข้องกับพลังงานจาก บันทึกของระบบในรูปแบบ HTML ในระดับเฉพาะแอป เครื่องมือ มีข้อมูลที่หลากหลายซึ่งสามารถช่วยคุณระบุแอปที่ทำให้แบตเตอรี่หมดเร็ว พฤติกรรมของคุณ
เอกสารฉบับนี้อธิบายวิธีต่างๆ ที่คุณจะใช้ Device Historian ในการเรียนรู้ได้ เกี่ยวกับรูปแบบการใช้แบตเตอรี่ เอกสารเริ่มต้นด้วยการอธิบายวิธี อ่านข้อมูลของทั้งระบบที่ Charge Historian รายงาน จากนั้นก็นำเสนอวิธี ซึ่งคุณสามารถใช้นักประวัติศาสตร์แบตเตอรี่เพื่อวินิจฉัยและแก้ปัญหาด้วยตัวเอง ลักษณะการทำงานของแอปที่เกี่ยวข้องกับการใช้แบตเตอรี่ สุดท้ายนี้ เราให้เคล็ดลับหลายอย่างเกี่ยวกับ สถานการณ์ที่ประหยัดแบตเตอรี่สำหรับประวัติศาสตร์ โดยเฉพาะ
ใช้มุมมองทั้งระบบ
เครื่องมือ Charge Historian ช่วยแสดงภาพของแอปต่างๆ แบบทั้งระบบ และลักษณะการทำงานของระบบ รวมถึงความสัมพันธ์กับการใช้แบตเตอรี่ เมื่อเวลาผ่านไป มุมมองนี้ซึ่งแสดงในรูปที่ 1 สามารถช่วยคุณวิเคราะห์และระบุ ปัญหาการใช้พลังงานของแอป
![การแสดงเหตุการณ์ทั่วทั้งระบบของแบตเตอรี่ประวัติศาสตร์ซึ่งส่งผลต่อพลังงาน
การบริโภค](https://developer.android.com/static/topic/performance/images/generic-timeline.png?authuser=9&hl=th)
สิ่งที่สนใจเป็นพิเศษของตัวเลขนี้คือแนวโน้มขาลง แนวนอน และสีดำ เส้นที่แสดงถึงระดับแบตเตอรี่ วัดจากแกน Y ตัวอย่างเช่น ที่ ในช่วงต้นของเส้นระดับแบตเตอรี่ ที่เวลาประมาณ 6:50 น. ที่แสดงให้เห็นในระดับแบตเตอรี่ที่ลดลงค่อนข้างสูง
รูปที่ 2 แสดงภาพระยะใกล้ของส่วนดังกล่าวของหน้าจอ
![ภาพระยะใกล้ของไทม์ไลน์แบตเตอรี่ประวัติศาสตร์ตั้งแต่เวลาประมาณ 6:50 น. ถึง 7:20 น.](https://developer.android.com/static/topic/performance/images/s-generic-closeup.png?authuser=9&hl=th)
ในช่วงแรกของเส้นระดับแบตเตอรี่ ขณะที่แบตเตอรี่ลดลงอย่างรวดเร็ว จอแสดงผลจะแสดง 3 สิ่งที่เกิดขึ้น ได้แก่ CPU กำลังทำงาน และแอปได้เข้าซื้อ Wake Lock และหน้าจอเปิดอยู่ ซึ่งการใช้งานแบตเตอรี่ประวัติศาสตร์จะช่วยคุณ เข้าใจเหตุการณ์ที่เกิดขึ้นเมื่อการใช้แบตเตอรี่สูง คุณสามารถ จากนั้นให้กำหนดเป้าหมายพฤติกรรมเหล่านี้ในแอปของคุณและตรวจสอบว่ามี การเพิ่มประสิทธิภาพที่เกี่ยวข้องที่คุณสามารถทำได้
การแสดงข้อมูลผ่านภาพทั่วทั้งระบบสามารถให้เบาะแสอื่นๆ ได้เช่นกัน ตัวอย่างเช่น หาก แสดงว่ามีการปิดและเปิดวิทยุมือถือบ่อยๆ ก็เป็นโอกาสที่จะเพิ่มประสิทธิภาพพฤติกรรมนี้โดย API การกำหนดเวลาอัจฉริยะ เช่น JobScheduler หรือ Firebase Job Dispatcher
ส่วนถัดไปจะอธิบายวิธีตรวจสอบลักษณะการทำงานและเหตุการณ์ที่เกี่ยวข้องกับ แอปของคุณเองได้
ดูข้อมูลเฉพาะแอป
นอกเหนือจากข้อมูลระดับมาโครที่มาจากมุมมองทั้งระบบแล้ว แบตเตอรี่ นักประวัติศาสตร์ยังมีตารางและการแสดงภาพข้อมูลบางอย่างสำหรับแต่ละ ทำงานบนอุปกรณ์ของคุณ ข้อมูลแบบตารางประกอบด้วยข้อมูลต่อไปนี้
- การใช้พลังงานโดยประมาณของแอปในอุปกรณ์
- ข้อมูลเครือข่าย
- Wake Lock
- บริการ
- ข้อมูลกระบวนการ
ตารางจะแสดงมิติข้อมูล 2 รายการเกี่ยวกับแอป ก่อนอื่น คุณสามารถค้นหา ในอันดับการใช้พลังงานของแอปเมื่อเทียบกับแอปอื่นๆ โดยคลิก ตารางค่าประมาณพลังงานของอุปกรณ์ในส่วนตาราง ตัวอย่างนี้เป็นการตรวจสอบสมมติ แอปชื่อ Pug Power
![ตรวจสอบว่าแอปใดใช้พลังงานไฟมากที่สุด](https://developer.android.com/static/topic/performance/images/app-rankings.png?authuser=9&hl=th)
ตารางในรูปที่ 3 เปิดเผยว่า Pug Power เป็นผู้บริโภครายใหญ่อันดับ 9 กำลังแบตเตอรี่ในอุปกรณ์นี้ และแอปที่ใหญ่เป็นอันดับ 3 ไม่ได้เป็นส่วนหนึ่งของ OS ข้อมูลนี้ชี้ให้เห็นว่าแอปนี้มีการตรวจสอบที่ละเอียดยิ่งขึ้น
หากต้องการค้นหาข้อมูลสำหรับแอปใดโดยเฉพาะ ให้ป้อนชื่อแพ็กเกจของแอปนั้นต่อท้าย เมนูแบบเลื่อนลง 2 เมนูในส่วนการเลือกแอปซึ่งอยู่ด้านซ้ายของ การแสดงข้อมูลผ่านภาพ
![การป้อนแอปที่เฉพาะเจาะจงซึ่งมีข้อมูลที่ต้องการดู](https://developer.android.com/static/topic/performance/images/dropdown.png?authuser=9&hl=th)
เมื่อเลือกแอปที่ต้องการ หมวดหมู่การแสดงข้อมูลผ่านภาพต่อไปนี้ เปลี่ยนเป็นแสดงข้อมูลเฉพาะแอปแทนข้อมูลทั้งระบบ
- SyncManager
- กระบวนการเบื้องหน้า
- การล็อกการทำงานโดยผู้ใช้
- แอปยอดนิยม
- JobScheduler
- เครื่องมือจัดการกิจกรรม Proc.
การแสดงข้อมูลผ่านภาพ SyncManager และ JobScheduler จะช่วยให้เห็นได้ชัดหาก แอปของคุณซิงค์และดำเนินงานบ่อยกว่าที่จำเป็น ใน การทำเช่นนี้จะช่วยให้แอปแสดงโอกาสในการเพิ่มประสิทธิภาพลักษณะการทำงานของแอปได้อย่างรวดเร็ว เพื่อประสิทธิภาพแบตเตอรี่ที่ดีขึ้น
คุณยังดูข้อมูลการแสดงภาพเฉพาะแอปเพิ่มอีก 1 รายการได้ด้วย Userspace Wakelock หากต้องการรวมข้อมูลนี้ไว้ในรายงานข้อบกพร่อง ให้ป้อน คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลของคุณ
$ adb shell dumpsys batterystats --enable full-wake-history
ภาพ 5 และ 6 แสดงข้อมูลสำหรับ Pug Power: รูปที่ 5 แสดงภาพของ ข้อมูลเฉพาะของแอป และรูปที่ 6 แสดงข้อมูลแบบตารางที่เกี่ยวข้อง
![การแสดงภาพข้อมูลสำหรับแอปสมมติ Pug Power](https://developer.android.com/static/topic/performance/images/pug-visualization.png?authuser=9&hl=th)
![ข้อมูลแบบตารางสำหรับแอป Pug Power สมมติ](https://developer.android.com/static/topic/performance/images/pugspecificdata.png?authuser=9&hl=th)
การดูภาพไม่ได้แสดงข้อมูลที่เห็นได้ชัดในทันที บรรทัด JobScheduler จะแสดงว่าแอปไม่มีงานที่กำหนดเวลาไว้ บรรทัด SyncManager แสดงว่าแอปไม่ได้ทำการซิงค์ใดๆ
แต่เมื่อตรวจสอบกลุ่ม Wakelocks จากข้อมูลแบบตารางพบว่า Pug Power ได้ Wake Lock โดยใช้เวลารวมกว่า 1 ชั่วโมง การค้นหาที่ไม่ปกติและมีค่าใช้จ่ายสูงนี้ อาจทำให้แอปมีการใช้พลังงานสูง ชิ้นนี้ ที่ช่วยให้นักพัฒนากำหนดเป้าหมายพื้นที่ที่น่าจะมีการเพิ่มประสิทธิภาพ จะช่วยได้อย่างมาก ทำไมแอปจึงได้เวลาปลุกระบบนาน และนักพัฒนาซอฟต์แวร์จะช่วยปรับปรุงพฤติกรรมดังกล่าวได้อย่างไร
กรณีอื่นๆ ที่ Charge Historian ช่วยได้
ยังมีอีกหลายกรณีที่ Container Historian ช่วยวินิจฉัยได้ โอกาสปรับปรุงการทำงานของแบตเตอรี่ ตัวอย่างเช่น Charge Historian จะบอกคุณว่าแอปของคุณ
- การปลุกแบบปลุกบ่อยเกินไป (ทุกๆ 10 วินาทีหรือน้อยกว่า)
- ล็อก GPS ค้างไว้อย่างต่อเนื่อง
- การกำหนดเวลางานทุก 30 วินาทีหรือน้อยกว่า
- การกำหนดเวลาซิงค์ทุกๆ 30 วินาทีหรือน้อยกว่า
- การใช้วิทยุมือถือบ่อยกว่าที่คาดไว้