इस पेज पर, आपके ऐप्लिकेशन के पास मौजूद वेक लॉक को रिलीज़ करने का तरीका बताया गया है. बैटरी खत्म होने से बचाने के लिए, जैसे ही आपके ऐप्लिकेशन का काम पूरा हो जाए वैसे ही वेक लॉक को रिलीज़ करना ज़रूरी है.
चालू वेक लॉक को रिलीज़ करना
ऐक्टिव वेक लॉक को रिलीज़ करने के लिए, उसके release()
तरीके को कॉल करें. ऐसा करने से, सीपीयू पर किया गया दावा हट जाता है.
उदाहरण के लिए, यहां दिया गया कोड वेक लॉक हासिल करता है, कुछ काम करता है, और फिर वेक लॉक को रिलीज़ कर देता है:
Kotlin
@Throws(MyException::class) fun doSomethingAndRelease() { wakeLock.apply { try { acquire(WAKELOCK_TIMEOUT) doTheWork() } finally { release() } } }
Java
void doSomethingAndRelease() throws MyException { try { wakeLock.acquire(WAKELOCK_TIMEOUT); doTheWork(); } finally { wakeLock.release(); } }
जब वेक लॉक की ज़रूरत न हो, तो उन्हें तुरंत रिलीज़ कर दें. उदाहरण के लिए, अगर बैकग्राउंड में चल रहे किसी टास्क को पूरा करने के लिए वेक लॉक का इस्तेमाल किया जाता है, तो टास्क पूरा होने के तुरंत बाद लॉक को रिलीज़ करना न भूलें.
इस कोड के बारे में खास जानकारी
इस उदाहरण में,
doTheWork()
तरीके से अपवाद मिल सकता है. इस वजह से, कोडfinally
ब्लॉक में वेक लॉक को रिलीज़ करता है, ताकि यह पक्का किया जा सके कि अपवाद थ्रो किया गया है या नहीं, वेक लॉक रिलीज़ हो गया है. यह पक्का करना बहुत ज़रूरी है कि आपने जो भी वेक लॉक सेट किए हैं उन्हें रिलीज़ कर दिया गया हो. इसलिए, आपको हर संभावित कोड पाथ की जांच करनी होगी, ताकि यह पक्का किया जा सके कि किसी भी कोड पाथ पर वेक लॉक चालू न रह जाए.वेक लॉक को
WakeLock.acquire(long timeout)
के साथ हासिल करना सबसे अच्छा है. इससे, तय की गई समयावधि के बाद वेक लॉक अपने-आप रिलीज़ हो जाता है. हालांकि, जब आपको वेक लॉक की ज़रूरत न हो, तब आपको उसे साफ़ तौर पर रिलीज़ करना चाहिए, ताकि आप उसे ज़रूरत से ज़्यादा समय तक न रोकें.