การล็อกการตื่นบางส่วนเป็นกลไกใน 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 ที่เหมาะสมเพื่อทำให้อุปกรณ์ทำงานต่อไปจะช่วยคุณค้นหาโซลูชันที่ดีที่สุดสำหรับแอป
หากจำเป็นต้องใช้การล็อกจากการตื่น ให้ทำตามแนวทางปฏิบัติแนะนำสำหรับการล็อกจากการตื่นเพื่อให้แน่ใจว่าการล็อกจากการตื่นจะไม่ส่งผลเสียต่อประสิทธิภาพของอุปกรณ์ โดยเฉพาะอย่างยิ่ง ให้ตรวจสอบว่าอุปกรณ์ทุกเครื่องที่คุณได้รับนั้นปลดล็อกแล้ว และปลดล็อกโดยเร็วที่สุด
หลังจากแก้ไขปัญหาในโค้ดแล้ว คุณสามารถยืนยันการแก้ไขได้โดยใช้เครื่องมือแก้ไขข้อบกพร่องการล็อกการปลุกในเครื่อง
ดูเพิ่มเติม
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- เฟรมที่ค้าง
- เรียกใช้การเปรียบเทียบในการผสานรวมอย่างต่อเนื่อง
- สร้างและวัดโปรไฟล์พื้นฐานโดยไม่ต้องใช้การทดสอบประสิทธิภาพแบบแมโคร