Wake Lock บางส่วนเป็นกลไกใน PowerManager API ที่ช่วยให้นักพัฒนาซอฟต์แวร์
สามารถให้ CPU ทำงานต่อไปได้หลังจากที่จอแสดงผลของอุปกรณ์ปิดลง (ไม่ว่าจะเกิดจาก
การหมดเวลาของระบบหรือผู้ใช้กดปุ่มเปิด/ปิด) แอปของคุณจะได้รับ
Wake Lock บางส่วนโดยการเรียกใช้ acquire() ด้วยแฟล็ก PARTIAL_WAKE_LOCK
หรือโดยใช้ API อื่นๆ ที่ได้รับ Wake Lock
การใช้ Wake Lock บางส่วนมากเกินไปจะทำให้แบตเตอรี่ของอุปกรณ์หมดเนื่องจาก
จะทำให้อุปกรณ์เข้าสู่สถานะพลังงานต่ำไม่ได้ ควรใช้ Wake Lock บางส่วน
เฉพาะเมื่อจำเป็นและปล่อยทันทีที่ไม่มีความจำเป็นอีกต่อไป
หากแอปใช้ Wake Lock บางส่วนมากเกินไป คุณสามารถใช้คำแนะนำในหน้านี้เพื่อวินิจฉัยและแก้ไขปัญหาได้
ตรวจหาปัญหา
Android Vitals ช่วยให้คุณทราบได้ว่าเมื่อใดที่แอปใช้ Wake Lock บางส่วนมากเกินไป
Android Vitals
Android Vitals ช่วยปรับปรุงประสิทธิภาพของแอปได้โดยแจ้งเตือนคุณผ่าน Play Consoleเมื่อแอปใช้ Wake Lock บางส่วนมากเกินไป
รายงาน Android Vitals จะระบุการใช้ Wake Lock บางส่วนเป็นมากเกินไปเมื่อการใช้ Wake Lock บางส่วนทั้งหมด รวมกันทำงานเป็นเวลา 2 ชั่วโมงขึ้นไปในช่วง 24 ชั่วโมง Android Vitals จะติดตามระยะเวลา Wake Lock ก็ต่อเมื่อมีการใช้ Wake Lock เมื่อแอปอยู่ในเบื้องหลังหรือเรียกใช้บริการที่ทำงานอยู่เบื้องหน้า ปัจจุบัน Android Vitals ยกเว้น Wake Lock ที่สร้างโดย API ที่ผู้ใช้เริ่มต้นเสียง ตำแหน่ง และ JobScheduler จากการคำนวณ Wake Lock
แดชบอร์ด Android Vitals สำหรับ Wake Lock บางส่วนที่มากเกินไปจะแสดงรายละเอียดของชื่อ Wake Lock ที่ไม่ได้รับการยกเว้นซึ่งเชื่อมโยงกับแอปของคุณ โดยจะแสดงเซสชันและระยะเวลาที่ได้รับผลกระทบ
หากมี Wake Lock บางส่วนมากเกินไปในเซสชันของแอปมากกว่า 5% ในอุปกรณ์ทั้งหมด ในช่วง 28 วัน อาจส่งผลต่อระดับการมองเห็นแอปใน Play
เมื่อทราบว่าแอปมี Wake Lock บางส่วนมากเกินไป ขั้นตอนถัดไปคือการแก้ไขปัญหา
แก้ไขปัญหา
เนื่องจาก Wake Lock อาจทำให้แบตเตอรี่ของอุปกรณ์หมดเร็ว คุณจึงไม่ควรใช้ Wake Lock หากมีทางเลือกอื่น เอกสารประกอบเลือก API ที่เหมาะสมเพื่อเปิดหน้าจออุปกรณ์ค้างไว้จะช่วยให้คุณพบโซลูชันที่ดีที่สุดสำหรับแอป
หากจำเป็นต้องใช้ Wake Lock ให้ปฏิบัติตามแนวทางปฏิบัติแนะนำสำหรับ Wake Lock เพื่อให้มั่นใจว่า Wake Lock จะไม่ส่งผลต่อประสิทธิภาพของอุปกรณ์ โดยเฉพาะอย่างยิ่ง โปรดตรวจสอบว่าอุปกรณ์ทุกเครื่องที่คุณซื้อได้รับการเผยแพร่แล้ว และปลดล็อกโดยเร็วที่สุด
แอปอาจใช้ Wake Lock แม้ว่าคุณจะไม่ได้ขอ Wake Lock อย่างชัดเจนก็ตาม หากเห็น Wake Lock ที่มาจากแอปที่คุณไม่รู้จัก ระบุ Wake Lock ที่สร้างโดย API อื่นๆ จะช่วยให้คุณระบุ API ที่อาจสร้าง Wake Lock เหล่านั้นได้
หลังจากแก้ไขปัญหาในโค้ดแล้ว คุณสามารถยืนยันการแก้ไขได้โดยใช้เครื่องมือแก้ไขข้อบกพร่องของ Wake Lock ในเครื่อง
ดูเพิ่มเติม
- Wake Lock แบบต่อเนื่องบางส่วน
- เลือก API ที่เหมาะสมเพื่อเปิดหน้าจออุปกรณ์ค้างไว้
- เอกสารประกอบเกี่ยวกับ Wake Lock
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- เฟรมที่ค้าง
- เรียกใช้การทดสอบประสิทธิภาพในการผสานรวมอย่างต่อเนื่อง
- สร้างและวัดโปรไฟล์พื้นฐานโดยไม่มี Macrobenchmark