שימוש מוגזם בחסימה חלקית של מצב השינה

נעילות חלקיות של מצב שינה הן מנגנון ב-API של PowerManager שמאפשר למפתחים להמשיך להפעיל את המעבד אחרי שהתצוגה של המכשיר כבויה (בין אם בגלל פסק זמן של המערכת או בגלל שהמשתמש לחץ על לחצן ההפעלה). האפליקציה מקבלת נעילת השכמה חלקית על ידי קריאה ל-acquire() עם הדגל PARTIAL_WAKE_LOCK, או על ידי שימוש בממשקי API אחרים שמקבלים נעילות השכמה. שימוש מופרז בנעילות השכמה חלקיות מרוקן את הסוללה של המכשיר כי הוא מונע מהמכשיר להיכנס למצבי צריכת חשמל נמוכה יותר. מומלץ להשתמש בנעילות השכמה חלקיות רק כשצריך, ולשחרר אותן ברגע שהן כבר לא נחוצות.

אם האפליקציה משתמשת בנעילות השכמה חלקיות באופן מוגזם, אפשר להיעזר בהנחיות שבדף הזה כדי לאבחן את הבעיה ולפתור אותה.

המשוב שלכם חשוב מאוד לשיפור התיעוד שלנו. נשמח לקבל ממך משוב באמצעות הקישור הבא:

שליחת משוב

זיהוי הבעיה

הנתונים של מדד תפקוד האפליקציה יכולים לעזור לכם לגלות מתי השימוש של האפליקציה בחסימה חלקית של מצב השינה הוא מוגזם.

תפקוד האפליקציה

הנתונים של תפקוד האפליקציה יכולים לעזור לכם לשפר את הביצועים של האפליקציה. לשם כך, תקבלו התראות דרך Play Console אם השימוש של האפליקציה בנעילות השכמה חלקיות מוגזם.

בדוחות תפקוד האפליקציה ב-Android, השימוש בחסימה חלקית של מצב השינה מסומן כמוגזם אם כל החסימות החלקיות של מצב השינה, ביחד, פועלות למשך שעתיים או יותר במהלך תקופה של 24 שעות. נתוני התפקוד של אפליקציות Android עוקבים אחרי משך הזמן של נעילת ההשכמה רק אם נעילת ההשכמה מופעלת כשהאפליקציה פועלת ברקע או מפעילה שירות בחזית. בשלב הזה, המדדים החיוניים של Android לא כוללים בחישוב את נעילות ההשכמה שנוצרו על ידי ממשקי API של אודיו, מיקום ו-JobScheduler שהופעלו על ידי המשתמש.

בלוח הבקרה 'שימוש מופרז בחסימה חלקית של מצב השינה' בתפקוד האפליקציה ל-Android מוצגים פירוטים של שמות חסימות שינה שלא פטורות שמשויכות לאפליקציה שלכם, ומוצגים משכי הזמן והסשנים המושפעים.

אם יש חסימות חלקיות מוגזמות של מצב השינה ביותר מ-5% מהסשנים באפליקציה בכל המכשירים במהלך תקופה של 28 ימים, הדבר עלול להשפיע על החשיפה של האפליקציה ב-Play אחרי שהמדד יצא מגרסת בטא.

אחרי שמגלים שיש באפליקציה נעילות חלקיות מוגזמות של מצב שינה, השלב הבא הוא לטפל בבעיה.

תיקון הבעיה

נעילות השכמה עלולות לרוקן את הסוללה של המכשיר, ולכן לא מומלץ להשתמש בהן אם יש חלופה. במאמר בחירת ה-API הנכון כדי למנוע את מצב השינה של המכשיר מוסבר איך למצוא את הפתרון הטוב ביותר לאפליקציה שלכם.

אם אתם צריכים להשתמש ב-wake lock, כדאי לפעול לפי השיטות המומלצות לשימוש ב-wake lock כדי לוודא שהשימוש ב-wake lock לא יפגע ביעילות המכשיר. חשוב במיוחד לוודא שכל מכשיר שרוכשים משוחרר, ולשחרר את הנעילה מהר ככל האפשר.

יכול להיות שהאפליקציה שלכם משתמשת בנעילות השהיה גם אם לא הגדרתם את נעילת ההשהיה באופן מפורש. אם אתם רואים נעילות השכמה שמשויכות לאפליקציה שאתם לא מזהים, זיהוי נעילות השכמה שנוצרו על ידי ממשקי API אחרים יכול לעזור לכם לזהות את ממשקי ה-API שאולי יצרו אותן.

אחרי שמתקנים את הבעיה בקוד, אפשר לאמת את התיקונים באמצעות כלים מקומיים לניפוי באגים של נעילת מסך.

למידע נוסף