وقتی یک برنامه اسکن Wi-Fi را در پسزمینه انجام میدهد، CPU را بیدار میکند و باعث تخلیه باتری میشود. هنگامی که اسکن های زیادی انجام می شود، عمر باتری دستگاه ممکن است به طور محسوسی کاهش یابد. اگر برنامهای در حالت PROCESS_STATE_BACKGROUND
یا PROCESS_STATE_CACHED
باشد، در پسزمینه در حال اجرا در نظر گرفته میشود.
این سند توضیح میدهد که چگونه میتوان تشخیص داد که برنامه شما در پسزمینه اسکنهای بیش از حد Wi-Fi انجام میدهد، و نکاتی درباره تشخیص و رفع مشکل ارائه میدهد.
مشکل را تشخیص دهید
ممکن است همیشه ندانید که برنامه شما تعداد زیادی اسکن Wi-Fi را نشان می دهد. اگر قبلاً برنامه خود را منتشر کرده اید، Android vitals می تواند شما را از مشکل آگاه کند تا بتوانید آن را برطرف کنید.
حیاتی اندروید
Android vitals می تواند با هشدار دادن به شما از طریق کنسول Play هنگامی که برنامه شما در حال انجام اسکن بیش از حد Wi-Fi در پس زمینه است، به بهبود عملکرد برنامه شما کمک کند. Android vitals اسکن Wi-Fi را زمانی که یک برنامه بیش از 4 اسکن در ساعت انجام می دهد بیش از حد می داند. در Play Console میتوانید درصد جلسات باتری را که این رفتار را نشان میدهند بررسی کنید.
تعریف جلسه باتری به نسخه پلتفرم بستگی دارد.
- در اندروید 10، یک جلسه باتری، تجمیع تمام گزارشهای باتری دریافتی در یک دوره 24 ساعته معین است. گزارش باتری به فاصله زمانی بین دو شارژ باتری از زیر 20٪ تا بالای 80٪ یا از هر سطح شارژ تا 100٪ اشاره دارد.
- در اندروید 11، یک جلسه باتری یک دوره 24 ساعته ثابت است.
برای اطلاعات در مورد نحوه جمعآوری دادههای حیاتی Android توسط Google Play، به مستندات کنسول Play مراجعه کنید.
بررسی اسکن های وای فای
ابزارهایی مانند Battery Historian می توانند به شما کمک کنند تا بینش بیشتری در مورد رفتار اسکن برنامه خود به دست آورید. Battery Historian تصویری از رفتار اسکن Wi-Fi را بر اساس هر برنامه ارائه می دهد، که می تواند به شما کمک کند تصویر واضح تری از آنچه در برنامه شما اتفاق می افتد به دست آورید. برای اطلاعات بیشتر درباره تاریخچه باتری، به تحلیل استفاده از انرژی با تاریخچه باتری مراجعه کنید.
برای کسب اطلاعات در مورد مکانیزم استفاده از تاریخچه باتری، به Batterystats و Battery Historian Walkthrough مراجعه کنید.
اسکن ها را کاهش دهید
در صورت امکان، برنامه شما باید اسکن Wi-Fi را در حالی که برنامه در پیش زمینه در حال اجرا است انجام دهد. خدمات پیش زمینه به طور خودکار اعلان ها را ارائه می دهند. انجام اسکنهای Wi-Fi در پیشزمینه، بنابراین کاربر را از چرایی و زمان انجام اسکنهای Wi-Fi در دستگاه خود آگاه میکند.
برای اطلاعات در مورد نحوه اسکن در حالت پیش زمینه، به مستندات کلاس WifiManager
مراجعه کنید.
اگر برنامه شما نمیتواند از انجام اسکنهای Wi-Fi در حالی که برنامه در پسزمینه اجرا میشود اجتناب کند، ممکن است از استفاده از استراتژی Lazy First سود ببرد. Lazy First شامل سه تکنیک است که می توانید از آنها برای کاهش اسکن Wi-Fi استفاده کنید: کاهش ، به تعویق انداختن و ادغام . برای کسب اطلاعات در مورد این تکنیک ها، به بهینه سازی برای عمر باتری مراجعه کنید.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- استفاده بیش از حد از شبکه تلفن همراه در پس زمینه
وقتی یک برنامه اسکن Wi-Fi را در پسزمینه انجام میدهد، CPU را بیدار میکند و باعث تخلیه باتری میشود. هنگامی که اسکن های زیادی انجام می شود، عمر باتری دستگاه ممکن است به طور محسوسی کاهش یابد. اگر برنامهای در حالت PROCESS_STATE_BACKGROUND
یا PROCESS_STATE_CACHED
باشد، در پسزمینه در حال اجرا در نظر گرفته میشود.
این سند توضیح میدهد که چگونه میتوان تشخیص داد که برنامه شما در پسزمینه اسکنهای بیش از حد Wi-Fi انجام میدهد، و نکاتی درباره تشخیص و رفع مشکل ارائه میدهد.
مشکل را تشخیص دهید
ممکن است همیشه ندانید که برنامه شما تعداد زیادی اسکن Wi-Fi را نشان می دهد. اگر قبلاً برنامه خود را منتشر کرده اید، Android vitals می تواند شما را از مشکل آگاه کند تا بتوانید آن را برطرف کنید.
حیاتی اندروید
Android vitals می تواند با هشدار دادن به شما از طریق کنسول Play هنگامی که برنامه شما در حال انجام اسکن بیش از حد Wi-Fi در پس زمینه است، به بهبود عملکرد برنامه شما کمک کند. Android vitals اسکن Wi-Fi را زمانی که یک برنامه بیش از 4 اسکن در ساعت انجام می دهد بیش از حد می داند. در Play Console میتوانید درصد جلسات باتری را که این رفتار را نشان میدهند بررسی کنید.
تعریف جلسه باتری به نسخه پلتفرم بستگی دارد.
- در اندروید 10، یک جلسه باتری، تجمیع تمام گزارشهای باتری دریافتی در یک دوره 24 ساعته معین است. گزارش باتری به فاصله زمانی بین دو شارژ باتری از زیر 20٪ تا بالای 80٪ یا از هر سطح شارژ تا 100٪ اشاره دارد.
- در اندروید 11، یک جلسه باتری یک دوره 24 ساعته ثابت است.
برای اطلاعات در مورد نحوه جمعآوری دادههای حیاتی Android توسط Google Play، به مستندات کنسول Play مراجعه کنید.
بررسی اسکن های وای فای
ابزارهایی مانند Battery Historian می توانند به شما کمک کنند تا بینش بیشتری در مورد رفتار اسکن برنامه خود به دست آورید. Battery Historian تصویری از رفتار اسکن Wi-Fi را بر اساس هر برنامه ارائه می دهد، که می تواند به شما کمک کند تصویر واضح تری از آنچه در برنامه شما اتفاق می افتد به دست آورید. برای اطلاعات بیشتر درباره تاریخچه باتری، به تحلیل استفاده از انرژی با تاریخچه باتری مراجعه کنید.
برای کسب اطلاعات در مورد مکانیزم استفاده از تاریخچه باتری، به Batterystats و Battery Historian Walkthrough مراجعه کنید.
اسکن ها را کاهش دهید
در صورت امکان، برنامه شما باید اسکن Wi-Fi را در حالی که برنامه در پیش زمینه در حال اجرا است انجام دهد. خدمات پیش زمینه به طور خودکار اعلان ها را ارائه می دهند. انجام اسکنهای Wi-Fi در پیشزمینه، بنابراین کاربر را از چرایی و زمان انجام اسکنهای Wi-Fi در دستگاه خود آگاه میکند.
برای اطلاعات در مورد نحوه اسکن در حالت پیش زمینه، به مستندات کلاس WifiManager
مراجعه کنید.
اگر برنامه شما نمیتواند از انجام اسکنهای Wi-Fi در حالی که برنامه در پسزمینه اجرا میشود اجتناب کند، ممکن است از استفاده از استراتژی Lazy First سود ببرد. Lazy First شامل سه تکنیک است که می توانید از آنها برای کاهش اسکن Wi-Fi استفاده کنید: کاهش ، به تعویق انداختن و ادغام . برای کسب اطلاعات در مورد این تکنیک ها، به بهینه سازی برای عمر باتری مراجعه کنید.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- استفاده بیش از حد از شبکه تلفن همراه در پس زمینه