שחרור של נעילת מצב שינה

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

שחרור של חסימת מצב שינה פעילה

כדי לשחרר wake lock פעיל, צריך לבצע קריאה ל-method‏ release() שלו. כך התביעה שלכם תשוחרר למעבד.

לדוגמה, הקוד הבא רוכש wake lock, מבצע פעולה מסוימת ואז משחרר את ה-wake lock:

Kotlin

@Throws(MyException::class)
fun doSomethingAndRelease() {
    wakeLock.apply {
        try {
            acquire()
            doTheWork()
        } finally {
            release()
        }
    }
}

Java

void doSomethingAndRelease() throws MyException {
    try {
        wakeLock.acquire();
        doTheWork();
    } finally {
        wakeLock.release();
    }
}

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

נקודות חשובות לגבי הקוד הזה

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

למידע נוסף