נעילות חלקיות של מצב השינה הן מנגנון ב-API של PowerManager
שמאפשר למפתחים להשאיר את המעבד פועל אחרי שהמסך של המכשיר נכבה (בין אם עקב זמן קצוב לתפוגה של המערכת או עקב לחיצה של המשתמש על לחצן ההפעלה). כדי לקבל נעילת התעוררות חלקית, האפליקציה צריכה לבצע קריאה ל-acquire()
עם הדגל PARTIAL_WAKE_LOCK
. אם נעילת ההתעוררות חלקית נמשכת זמן רב בזמן שהאפליקציה פועלת ברקע (אף חלק מהאפליקציה לא גלוי למשתמש), היא נתקעת. המצב הזה גורם לריקון הסוללה של המכשיר כי הוא מונע מהמכשיר לעבור למצבי צריכת אנרגיה נמוכים יותר. יש להשתמש בנעילות מצב פעילות חלקיות רק במקרה הצורך, ולשחרר אותן ברגע שהן לא נחוצות יותר.
אם באפליקציה שלכם יש נעילת התעוררות חלקית תקועה, תוכלו להיעזר בהנחיות שבדף הזה כדי לאבחן ולפתור את הבעיה.
זיהוי הבעיה
יכול להיות שלא תמיד תדעו שהחסמויות החלקיות של מצב שינה באפליקציה תקועות. אם כבר פרסמתם את האפליקציה, נתוני תפקוד האפליקציה ל-Android יכולים לעזור לכם לזהות את הבעיה.
תפקוד האפליקציה
נתוני תפקוד האפליקציה יכולים לעזור לכם לשפר את הביצועים של האפליקציה. הם מאפשרים לקבל התראות דרך Play Console כשיש באפליקציה חסימות חלקיות תקועות של מצב ההפעלה. בדוח 'מדדי תפקוד האפליקציה', חסימות חלקיות של מצב שינה נחשבות כ'חסימות תקועות' אם הן מתרחשות לפחות פעם אחת למשך שעה בזמן שהאפליקציה פועלת ברקע.
ההגדרה של סשן סוללה תלויה בגרסה של הפלטפורמה.
- ב-Android 10, מחזור סוללה הוא צבירת כל דוחות הסוללה שהתקבלו בתקופה של 24 שעות נתונות. דוח סוללה מתייחס למרווח הזמן שבין שתי טעינות של הסוללה, מ-20% טעינה ומטה ל-80% טעינה ומעלה, או מכל רמת טעינה ל-100%.
- ב-Android 11, מחזור טעינת סוללה הוא תקופה קבועה של 24 שעות.
מספר סשני הסוללה שמוצגים הוא סכום של כל המשתמשים שנמדדו באפליקציה. מידע על האופן שבו Google Play אוספת נתוני תפקוד האפליקציה ב-Android זמין במסמכי העזרה של Play Console.
אחרי שמזהים באפליקציה יותר מדי חסימות חלקיות של מצב ההפעלה, השלב הבא הוא לטפל בבעיה.
תיקון הבעיה
מכיוון שנעילות ההתעוררות עלולות לרוקן את הסוללה של המכשיר, לא מומלץ להשתמש בהן אם יש חלופה. במאמר בחירת ה-API הנכון כדי לשמור על המכשיר פעיל מוסבר איך למצוא את הפתרון הטוב ביותר לאפליקציה שלכם.
אם אתם צריכים להשתמש במנעול הפעלה, פועלים לפי השיטות המומלצות למנעול הפעלה כדי לוודא שמנעולי ההפעלה לא פוגעים ביעילות המכשיר. חשוב במיוחד לוודא שכל מכשיר שאתם רוכשים לא נעול, ולבטל את הנעילה בהקדם האפשרי.
אחרי שמתקנים את הבעיה בקוד, אפשר לאמת את התיקונים באמצעות כלים מקומיים לניפוי באגים של נעילת ההתעוררות.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- פריימים קפואים
- הרצת מדדי ביצועים באינטגרציה רציפה (CI)
- יצירה ומדידה של פרופילים בסיסיים בלי Macrobenchmark