Wake Lock บางส่วนที่มากเกินไป (เบต้า)

การล็อกการตื่นบางส่วนเป็นกลไกใน PowerManager API ที่ช่วยให้ผู้พัฒนาแอปสามารถทำให้ CPU ทำงานต่อไปได้หลังจากที่จอแสดงผลของอุปกรณ์ปิดลง (ไม่ว่าจะเกิดจากระบบหมดเวลาหรือผู้ใช้กดปุ่มเปิด/ปิด) แอปของคุณจะรับการล็อกการปลุกบางส่วนโดยการเรียกใช้ acquire() พร้อม Flag PARTIAL_WAKE_LOCK หรือใช้ API อื่นๆ ที่ได้รับสิทธิ์การล็อกการปลุก การใช้การล็อกการตื่นบางส่วนมากเกินไปจะทำให้แบตเตอรี่ของอุปกรณ์หมดเร็ว เนื่องจากจะป้องกันไม่ให้อุปกรณ์เข้าสู่สถานะพลังงานต่ำ ควรใช้การล็อกการตื่นบางส่วนเมื่อจำเป็นเท่านั้นและปล่อยออกทันทีที่ไม่จำเป็นแล้ว

หากแอปใช้การล็อกการตื่นบางส่วนมากเกินไป คุณสามารถใช้คำแนะนำในหน้านี้เพื่อวิเคราะห์และแก้ไขปัญหา

ความคิดเห็นของคุณเป็นส่วนสําคัญในการปรับปรุงเอกสารประกอบของเรา โปรดแสดงความคิดเห็นให้เราทราบโดยใช้ลิงก์ต่อไปนี้

แสดงความคิดเห็น

ตรวจหาปัญหา

Android Vitals ช่วยให้คุณทราบว่าแอปใช้ Wake Lock บางส่วนมากเกินไปหรือไม่

Android Vitals

Android Vitals ช่วยปรับปรุงประสิทธิภาพของแอปได้โดยแจ้งเตือนคุณผ่าน Play Console เมื่อแอปใช้การล็อกการตื่นบางส่วนมากเกินไป

Android Vitals จะรายงานว่าการใช้ Wake Lock บางส่วนมากเกินไปเมื่อWake Lock บางส่วนทั้งหมดทำงานรวมกันนานกว่า 3 ชั่วโมงในระยะเวลา 24 ชั่วโมง

Android Vitals จะติดตามเวลาเฉพาะในกรณีที่มีการล็อกการปลุกไว้เมื่อแอปอยู่เบื้องหลังและไม่มีบริการที่ทำงานอยู่เบื้องหน้า

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

หากการล็อกการตื่นบางส่วนเกิดขึ้นมากกว่า 5% ของเซสชันแอปในอุปกรณ์ทั้งหมดในช่วง 28 วัน อาจส่งผลต่อระดับการมองเห็นของแอปใน Play เมื่อเมตริกออกจากระยะเบต้า

เมื่อทราบว่าแอปของคุณมีการล็อกการตื่นบางส่วนมากเกินไป ขั้นตอนถัดไปคือการแก้ไขปัญหา

แก้ไขปัญหา

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

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

หลังจากแก้ไขปัญหาในโค้ดแล้ว คุณสามารถยืนยันการแก้ไขได้โดยใช้เครื่องมือแก้ไขข้อบกพร่องการล็อกการปลุกในเครื่อง

ดูเพิ่มเติม