การสแกนหา 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 ได้ ดังนี้
ลด เลื่อน และรวม
ดูข้อมูลเกี่ยวกับเทคนิคเหล่านี้ได้ที่หัวข้อการเพิ่มประสิทธิภาพเพื่ออายุการใช้งานแบตเตอรี่
แนะนำสำหรับคุณ
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Excessive Wi-Fi Scanning in the Background\n\nWhen an app performs Wi-Fi scans in the background, it wakes up the CPU,\ncausing rate of battery drain. When too many scans occur, the device's\nbattery life may be noticeably shortened. An app is considered to be running in\nthe background if it is in the `PROCESS_STATE_BACKGROUND` or\n`PROCESS_STATE_CACHED` state.\n\nThis document explains how to detect when your app is performing too many Wi-Fi\nscans in the background, and provides tips about diagnosing and addressing\nthe problem.\n\nDetect the problem\n------------------\n\nYou may not always know that your app is exhibiting an inordinate\nnumber of Wi-Fi scans. If you have already published your app,\nAndroid vitals can make you aware of the problem so that you can fix it.\n\n### Android vitals\n\nAndroid vitals can help improve your app's performance by alerting you via the\n[Play Console](https://play.google.com/console/) when your app is\nperforming excessive Wi-Fi scanning in the background. Android vitals considers\nWi-Fi scanning excessive when an app performs more than 4 scans per hour.\nIn Play Console you can check percentage of *battery sessions* that exhibit\nthis behavior.\n\nThe definition of *battery session* depends on the platform version.\n\n- In Android 10, a battery session is the aggregation of all battery reports received within a given 24-hour period. A *battery report* refers to the interval between two battery charges either from below 20% to above 80% or from any charge level to 100%.\n- In Android 11, a battery session is a fixed 24-hour period.\n\nFor information on how Google Play collects Android vitals data, see the [Play\nConsole](https://support.google.com/googleplay/android-developer/answer/7385505)\ndocumentation.\n\nInvestigate the Wi-Fi scans\n---------------------------\n\nTools such as Battery Historian can help you gain more insight into your\napp's scanning behavior. Battery Historian provides a visualization of Wi-Fi\nscanning behavior on a per-app basis, which can help you gain a clearer\npicture of what's happening with your app. For more information about Battery\nHistorian, see\n[Analyzing Power Use with Battery Historian](/topic/performance/power/battery-historian#asd).\n\nFor information about the mechanics of using Battery Historian, see\n[Batterystats and Battery Historian Walkthrough](/topic/performance/power/setup-battery-historian).\n\nReduce the scans\n----------------\n\nIf possible, your app should be performing Wi-Fi scans while the app is running\nin the foreground. Foreground services automatically present notifications;\nperforming Wi-Fi scans in the foreground thus makes the user aware of the\nwhy and when Wi-Fi scans take place on their device.\n\nFor information on how to scan while in the foreground,\nsee the documentation for the\n[`WifiManager`](/reference/android/net/wifi/WifiManager#startScan()) class.\n\nIf your app cannot avoid performing Wi-Fi scans while the app is running in\nthe background, it may benefit from applying\na [Lazy First](/topic/performance/power#lazy) strategy. Lazy First\nencompasses three techniques that you can use to cut down on Wi-Fi scans:\n*reduce* , *defer* , and *coalesce* .\nFor information about these techniques, see\n[Optimizing for Battery Life](/topic/performance/power).\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Excessive Mobile Network Usage in Background](/topic/performance/vitals/bg-network-usage)"]]