ปล่อย Wake Lock

หน้านี้จะอธิบายวิธียกเลิกการล็อกจากการตื่นที่แอปของคุณถือครองอยู่ คุณควรยกเลิกการล็อกจากการตื่นทันทีที่แอปของคุณใช้งานเสร็จแล้วเพื่อไม่ให้แบตเตอรี่หมด

ปล่อย Wake Lock ที่ทำงานอยู่

หากต้องการยกเลิกการล็อกการปลุกที่ทำงานอยู่ ให้เรียกใช้เมธอด 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();
    }
}

อย่าลืมยกเลิกการล็อกการปลุกทันทีที่ไม่จำเป็นต้องใช้แล้ว ตัวอย่างเช่น หากคุณใช้ Wake Lock เพื่อให้งานเบื้องหลังเสร็จสิ้น อย่าลืมปลดล็อกทันทีที่งานเสร็จสิ้น

ประเด็นสําคัญเกี่ยวกับรหัสนี้

ในตัวอย่างนี้ เมธอด doTheWork() อาจส่งข้อยกเว้น ด้วยเหตุนี้ โค้ดจึงยกเลิกการล็อกการปลุกในบล็อก finally เพื่อให้แน่ใจว่ามีการยกเลิกการล็อกการปลุกไม่ว่าจะมีการยกเว้นหรือไม่ก็ตาม คุณจำเป็นต้องตรวจสอบว่าปลุกล็อกทุกรายการที่คุณตั้งไว้ถูกปล่อยแล้ว ดังนั้นคุณต้องตรวจสอบเส้นทางโค้ดที่เป็นไปได้ทั้งหมดเพื่อให้แน่ใจว่าปลุกล็อกไม่ได้ทำงานอยู่

ดูเพิ่มเติม