Trang này mô tả cách huỷ khoá chế độ thức do ứng dụng của bạn giữ. Điều quan trọng là bạn phải huỷ khoá chế độ thức ngay khi ứng dụng của bạn hoàn tất việc sử dụng khoá đó để tránh tiêu hao pin.
Giải phóng khoá chế độ thức đang hoạt động
Để giải phóng khoá chế độ thức đang hoạt động, hãy gọi phương thức release()
của khoá đó. Việc này sẽ phát hành thông báo xác nhận quyền sở hữu của bạn cho CPU.
Ví dụ: mã sau đây thu nạp khoá chế độ thức, thực hiện một số công việc, sau đó giải phóng khoá chế độ thức:
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();
}
}
Hãy nhớ huỷ khoá chế độ thức ngay khi không cần thiết nữa. Ví dụ: nếu bạn sử dụng khoá chế độ thức để cho phép hoàn tất một tác vụ ở chế độ nền, hãy nhớ huỷ khoá ngay khi tác vụ đó hoàn tất.
Các điểm chính về mã này
Trong ví dụ này, phương thức doTheWork()
có thể gửi một ngoại lệ. Vì lý do này, mã sẽ giải phóng khoá chế độ thức trong khối finally
để đảm bảo khoá chế độ thức được giải phóng cho dù có ngoại lệ hay không. Điều quan trọng là phải đảm bảo mọi khoá chế độ thức mà bạn đặt đều được huỷ bỏ. Vì vậy, bạn cần kiểm tra mọi đường dẫn mã có thể có để đảm bảo khoá chế độ thức không còn hoạt động trên bất kỳ đường dẫn nào.