ওয়েক লক রিলিজ করা

এই পৃষ্ঠায় আপনার অ্যাপ হোল্ড করা ওয়েক লক কীভাবে রিলিজ করবেন তা বর্ণনা করা হয়েছে। ব্যাটারির চার্জ শেষ হওয়া এড়াতে, আপনার অ্যাপের ব্যবহার শেষ হওয়ার সাথে সাথেই ওয়েক লক রিলিজ করা গুরুত্বপূর্ণ।

অ্যাক্টিভ ওয়েক লক রিলিজ করা

অ্যাক্টিভ ওয়েক লক রিলিজ করতে, এর release() মেথড কল করুন। এটি করলে সিপিইউ-তে আপনার দাবি রিলিজ হয়ে যাবে।

যেমন, নিম্নলিখিত কোড একটি ওয়েক লক অ্যাকোয়ার করে, কিছু কাজ করে, তারপরে ওয়েক লক রিলিজ করে:

Kotlin

@Throws(MyException::class)
fun doSomethingAndRelease() {
    wakeLock.apply {
        try {
            acquire(WAKELOCK_TIMEOUT)
            doTheWork()
        } finally {
            release()
        }
    }
}

জাভা

void doSomethingAndRelease() throws MyException {
    try {
        wakeLock.acquire(WAKELOCK_TIMEOUT);
        doTheWork();
    } finally {
        wakeLock.release();
    }
}

প্রয়োজন ফুরিয়ে গেলেই ওয়েক লক রিলিজ করতে ভুলবেন না। যেমন, ব্যাকগ্রাউন্ড টাস্ক সম্পূর্ণ করার জন্য আপনি যদি ওয়েক লক ব্যবহার করেন, তাহলে টাস্ক সম্পূর্ণ হয়ে গেলে লকটি রিলিজ করতে ভুলবেন না।

এই কোড সম্পর্কে গুরুত্বপূর্ণ পয়েন্ট

  • এই উদাহরণে, doTheWork() পদ্ধতি ব্যতিক্রম দেখাতে পারে। এই কারণে, কোডটি finally ব্লকে ওয়েক লক রিলিজ করে, যাতে কোনও ব্যতিক্রম ঘটুক বা না ঘটুক, ওয়েক লক রিলিজ করা হয়েছে তা নিশ্চিত করা যায়। আপনি সেট করা প্রতিটি ওয়েক লক রিলিজ করা হয়েছে কিনা তা নিশ্চিত করা খুবই গুরুত্বপূর্ণ, তাই কোনও কোড পাথে ওয়েক লক অ্যাক্টিভ অবস্থায় থেকে যায়নি কিনা তা নিশ্চিত করতে আপনাকে প্রতিটি সম্ভাব্য কোড পাথ চেক করতে হবে।

  • WakeLock.acquire(long timeout)-এর মাধ্যমে ওয়েক লক পাওয়া সবচেয়ে ভালো, যা নির্দিষ্ট টাইমআউট সময়সীমা শেষ হওয়ার পরে অটোমেটিক ওয়েক লক রিলিজ করে দেয়। তবে, আপনার যখন আর ওয়েক লক প্রয়োজন নেই, তখন আপনাকে স্পষ্টভাবে ওয়েক লক রিলিজ করতে হবে, যাতে আপনি প্রয়োজনের চেয়ে বেশি সময় ধরে ওয়েক লক হোল্ড করে না রাখেন।

এছাড়াও দেখুন