การสแกนหา Wi-Fi ในเบื้องหลังบ่อยเกินไป

เมื่อแอปทำการสแกนหา Wi-Fi ในเบื้องหลัง แอปจะปลุก CPU ซึ่งทำให้แบตเตอรี่หมดเร็วขึ้น เมื่อมีการสแกนมากเกินไป อายุการใช้งานแบตเตอรี่ของอุปกรณ์ อาจลดลงอย่างเห็นได้ชัด ระบบจะถือว่าแอปทำงานในเบื้องหลังหากอยู่ในสถานะ PROCESS_STATE_BACKGROUND หรือ PROCESS_STATE_CACHED

เอกสารนี้อธิบายวิธีตรวจหาเมื่อแอปของคุณสแกน Wi-Fi มากเกินไปในเบื้องหลัง และให้เคล็ดลับเกี่ยวกับการวินิจฉัยและแก้ไขปัญหา

ตรวจหาปัญหา

คุณอาจไม่ทราบเสมอไปว่าแอปของคุณกำลังทำการสแกน Wi-Fi มากเกินไป หากเผยแพร่แอปแล้ว Android Vitals จะช่วยให้คุณทราบปัญหาเพื่อที่จะได้แก้ไข

Android Vitals

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

คำจำกัดความของเซสชันแบตเตอรี่จะขึ้นอยู่กับเวอร์ชันของแพลตฟอร์ม

  • ใน Android 10 เซสชันแบตเตอรี่เป็นการรวมรายงานแบตเตอรี่ทั้งหมดที่ได้รับภายในระยะเวลา 24 ชั่วโมง รายงานแบตเตอรี่หมายถึงช่วงเวลาระหว่างการชาร์จแบตเตอรี่ 2 ครั้งจากต่ำกว่า 20% ถึงมากกว่า 80% หรือจากระดับการชาร์จใดก็ตามถึง 100%
  • ใน Android 11 เซสชันแบตเตอรี่คือระยะเวลา 24 ชั่วโมงแบบคงที่

ดูข้อมูลเกี่ยวกับวิธีที่ Google Play รวบรวมข้อมูล Android Vitals ได้ในเอกสารประกอบของ Play Console

ตรวจสอบการสแกนหา Wi-Fi

เครื่องมือต่างๆ เช่น Battery Historian จะช่วยให้คุณได้รับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับลักษณะการสแกนของแอป Battery Historian แสดงภาพลักษณะการสแกน Wi-Fi ของแต่ละแอป ซึ่งจะช่วยให้คุณเห็นภาพที่ชัดเจนยิ่งขึ้น เกี่ยวกับสิ่งที่เกิดขึ้นกับแอปของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับ Battery Historian ได้ที่การวิเคราะห์การใช้พลังงานด้วย Battery Historian

ดูข้อมูลเกี่ยวกับกลไกการใช้ Battery Historian ได้ที่ คำแนะนำเกี่ยวกับ Batterystats และ Battery Historian

ลดจำนวนการสแกน

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

ดูข้อมูลเกี่ยวกับวิธีสแกนขณะอยู่ในเบื้องหน้าได้ในเอกสารประกอบสำหรับคลาส WifiManager

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