Wake Lock บางส่วนเป็นกลไกใน PowerManager API ที่ช่วยให้
นักพัฒนาแอปให้ CPU ทำงานต่อไปได้หลังจากที่จอแสดงผลของอุปกรณ์ปิดลง (ไม่ว่าจะเกิดจาก
การหมดเวลาของระบบหรือผู้ใช้กดปุ่มเปิด/ปิด) แอปของคุณจะได้รับ
การล็อกการปลุกบางส่วนโดยการเรียกใช้ acquire() ด้วยแฟล็ก PARTIAL_WAKE_LOCK
หรือโดยใช้API อื่นๆ ที่ได้รับการล็อกการปลุก
การใช้ 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