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