البحث عن شبكة Wi-Fi في الخلفية بشكل مفرط
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
عندما يجري أحد التطبيقات فحصًا لشبكة Wi-Fi في الخلفية، فإنه ينشِّط وحدة المعالجة المركزية،
مسببًا معدل استنزاف البطارية. عندما يتم إجراء عدد كبير جدًا من عمليات الفحص،
قد يقل عمر بطارية الجهاز بشكل ملحوظ. يُعتبر التطبيق قيد التشغيل في
الخلفية إذا كان بالحالة PROCESS_STATE_BACKGROUND
أو
PROCESS_STATE_CACHED
.
يشرح هذا المستند كيفية اكتشاف عندما يُجري تطبيقك عددًا كبيرًا جدًا من عمليات فحص شبكة Wi-Fi في الخلفية، كما يقدِّم نصائح حول تشخيص المشكلة وحلّها.
اكتشاف المشكلة
قد لا تعرف دائمًا أن تطبيقك يعرض عددًا هائلاً من عمليات البحث عن شبكات Wi-Fi. إذا سبق لك نشر تطبيقك،
ستساعدك "مؤشرات Android الحيوية" على إدراكك للمشكلة حتى تتمكن من حلّها.
مؤشرات Android الحيوية
يمكن أن تساعد "مؤشرات Android الحيوية" في تحسين أداء تطبيقك من خلال تنبيهك عبر
Play Console عندما يجري تطبيقك
بحثًا زائدًا عن شبكة Wi-Fi في الخلفية. تعتبر "مؤشرات Android الحيوية" أنّ البحث عن شبكات Wi-Fi زائد عن الحد عندما يُجري التطبيق أكثر من 4 عمليات فحص في الساعة.
في Play Console، يمكنك الاطّلاع على النسبة المئوية لجلسات البطارية التي تظهر فيها هذا السلوك.
يعتمد تعريف جلسة البطارية على إصدار النظام الأساسي.
- في نظام التشغيل Android 10، تشير جلسة البطارية إلى تجميع كل تقارير البطارية
التي تم تلقّيها خلال فترة 24 ساعة معيّنة. يشير تقرير البطارية إلى الفاصل الزمني بين عمليتَي شحن للبطارية تتراوح بين أقل من 20% وأعلى من 80% أو
بين أي مستوى شحن وصولاً إلى 100%.
- في نظام التشغيل Android 11، تكون مدة جلسة البطارية مدّتها 24 ساعة ثابتة.
لمزيد من المعلومات حول الطريقة التي يجمع بها Google Play بيانات "مؤشرات Android الحيوية"، يُرجى الاطّلاع على مستندات Play Console.
التحقيق في عمليات البحث عن شبكات Wi-Fi
يمكن أن تساعدك أدوات مثل Battery Historian في الحصول على مزيد من المعلومات حول سلوك البحث لتطبيقك. يقدِّم تطبيق Battery Historian عرضًا لسلوك البحث عن شبكات Wi-Fi حسب كل تطبيق، ما يساعدك في الحصول على صورة أوضح عمّا يحدث في تطبيقك. للمزيد من المعلومات حول البطارية السابقة، يمكنك الاطّلاع على مقالة تحليل استخدام الطاقة باستخدام Battery Historian.
للحصول على معلومات عن آلية استخدام Battery Historian، اطلع على
Batterystats وBattery Historian.
تقليل عمليات الفحص
من المفترض أن يُجري تطبيقك عمليات بحث عن شبكة Wi-Fi، إن أمكن، أثناء تشغيله في المقدّمة. تعرض الخدمات التي تعمل في المقدّمة تعمل تلقائيًا الإشعارات، ويؤدي إجراء عمليات فحص عن شبكة Wi-Fi في المقدّمة، إلى إطلاع المستخدم على سبب ووقت إجراء عمليات البحث عن شبكة Wi-Fi على جهازه.
للحصول على معلومات حول كيفية إجراء المسح الضوئي أثناء استخدام التطبيقات في المقدّمة،
راجِع مستندات الفئة
WifiManager
.
إذا لم يتمكّن تطبيقك من تجنُّب إجراء عمليات بحث عن شبكات Wi-Fi أثناء تشغيله في
الخلفية، قد يستفيد من تطبيق
استراتيجية كسول أولاً. وتتضمّن هذه الطريقة ثلاثة أساليب يمكنك استخدامها لتقليل عمليات البحث عن شبكات Wi-Fi، وهي: تقليل والتأجيل والدمج.
للحصول على معلومات عن هذه التقنيات، يمكنك الاطّلاع على
التحسين لزيادة عمر البطارية.
أفلام مُقترَحة لك
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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)"]]