ปล่อย Wake Lock

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

ปล่อย Wake Lock ที่ใช้งานอยู่

หากต้องการปล่อย Wake Lock ที่ใช้งานอยู่ ให้เรียกใช้เมธอด release() การทำเช่นนี้ จะปล่อยการอ้างสิทธิ์ของคุณไปยัง CPU

ตัวอย่างเช่น โค้ดต่อไปนี้รับ 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();
    }
}

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

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

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

ดูเพิ่มเติม