wake locks חלקיים ממושכים

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

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

זיהוי הבעיה

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

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

נתוני תפקוד האפליקציה יכולים לעזור לכם לשפר את הביצועים של האפליקציה. הם מתריעים לכם דרך Play Console כשהאפליקציה מציגה נעילות חלקיות של השהיית המעבד (wake lock) שנתקעות. מדד תפקוד האפליקציה ב-Android מדווח על חסימות חלקיות של מצב שינה כחסימות ממושכות אם מתרחשת חסימה חלקית אחת לפחות של מצב שינה שנמשכת שעה בזמן שהאפליקציה פועלת ברקע, במהלך תקופה של 24 שעות.

מספר הסשנים של הסוללה שמוצג הוא נתון מצטבר של כל המשתמשים שנמדדו באפליקציה. למידע על האופן שבו Google Play אוסף נתונים של תפקוד האפליקציה ל-Android, אפשר לעיין במסמכי התיעוד של Play Console.

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

תיקון הבעיה

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

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

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

למידע נוסף