בדף הזה נסביר איך משחררים את נעילת ההתעוררות (wake lock) שנמצאת בשימוש של האפליקציה. חשוב לשחרר את נעילת ההתעוררות ברגע שהאפליקציה מסיימת להשתמש בה, כדי למנוע שחיקה של הסוללה.
שחרור של חסימת מצב שינה פעילה
כדי לשחרר מנעול מצב פעילות פעיל, צריך לבצע קריאה ל-method release()
שלו. הפעולה הזו תגרום לביטול התלונה שלך ל-CPU.
לדוגמה, הקוד הבא מקבל נעילת התעוררות, מבצע עבודה מסוימת ואז משחרר את נעילת ההתעוררות:
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
כדי לוודא שהנעילה תשתחרר גם אם תתרחש חריגה וגם אם לא. חשוב מאוד לוודא שכל מנעול ההתעוררות שהגדרתם משוחרר. לכן, עליכם לבדוק כל נתיב קוד אפשרי כדי לוודא שמנעול ההתעוררות לא נשאר פעיל באף אחד מהם.