বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

একটিভিটিতে পজ দেওয়া

যখন সিস্টেমটি আপনার একটিভিটির জন্য onPause()কল করে, এটা কৌশলগতভাবে বোঝায় যে আপনার একটিভিটি এখনও আংশিকভাবে দৃশ্যমান, কিন্তু প্রায়শই এরকম নির্দেশনা থাকে যে ইউজার একটিভিটি ত্যাগ করছে এবং এটা খুব শিঘ্রই স্টপ অবস্থায় প্রবেশ করে। নিম্নোক্ত ক্ষেত্রে আপনার onPause()কলব্যাক ব্যবহার করা উচিত:

  • এনিমেশন বা অন্যান্য চলমান একশন/কর্মকান্ড বন্ধ করা যা সিপিইউ কে ব্যবহার করছে

  • সেভ করা হয় নাই এমন পরিবর্তন গুলো সেভ করা, কিন্তু শুধুমাত্র তখনই যখন ইউজার একটিভিটি ত্যাগ করে তখন স্থায়ীভাবে এই চেঞ্জগুলোকে সেভ হতে আশা করে। (যেমন, একটা ড্রাফট ইমেইল)

  • যখন ইউজারের জন্য এটার প্রয়োজন নাই কিন্তু এটা পজ অবস্থায় থেকে ব্যাটারীর আয়ুস্কালের উপর প্রভাব ফেলে তখন ব্রডকাস্ট রিসিভার, সেন্সর করতে জিপিএস (GPS) বা অন্য কোন সিস্টেম রিসোর্স গুলোকে রিলিজ করে দিন।

উদাহরণস্বরূপ, যদি আপনার অ্যাপলিকেশন Camera ধব্যবহার করে, এটাকে রিলিজ করবে onPause()পদ্ধতি একটা ভালো জায়গা

@Override
public void onPause() {
    super.onPause();  // Always call the superclass method first

    // Release the Camera because we don't need it when paused
    // and other activities might need to use it.
    if (mCamera != null) {
        mCamera.release()
        mCamera = null;
    }
}

সাধারনভাবে, ইউজার চেঞ্জগুলোকে স্থায়ী স্টোরে স্টোর করতে onPause()ব্যবহার করা উচিত না (যেমন, একটি ফর্মে ব্যক্তিগত তথ্য প্রবেশ করানো)। আপনি শুধুমাত্র তখনই ইউজার চেঞ্জগুলোকে স্থায়ী স্টোরে onPause()এর মধ্যে থেকে ধরে রাখতে পারেন যখন আপনি নিশ্চিত হবেন যে ইউজার আশা করবে যে এই চেঞ্জগুলো অটো সেভ হবে (যেমন, যখন একটা ইমেইল ড্রাফট করা হয়ে থাকে) । যাহোক, onPause()এর সময় আপনার সিপিইউ-ইন্টেসিভ কাজ করা পরিহার কার উচিত, যেমন একটি ডাটাবেজে লেখার কাজ, কারন এটা পরবর্তী একটিবিটিতে দৃশ্যমান পরিবর্তন কে ধীর গতির করে দেয় (পরিবর্তে, onStop()এর সময় আপনার হেভি লোড শাটডাউন অপারেশন করা উচিত)।

যদি আপনপর একটিভিটি আসলেই স্টপ/বন্ধ হয় তখন ইউজারের পরবর্তী লক্ষ্যে দ্রুত চলে যাওয়ার বিষয়টা (a speedy transition) সমর্থন করতে onPause()পদ্ধতির মধ্যে অপেক্ষাকৃত সহজভাবে যে পরিমান অপারেশন গুলো সম্পাদিত হয়েছে তা আপনার ধরে রাখা উচিত।

নোট: যখকন আপনার একটিভিটি পজ করা হয়, তখন Activity ইনসটেন্স কে মেমরিতে রাখা হয় এবং এটাকে রিকল করা হয় যখন এটা আবার পূণরায় শুরু করা হয়। আপনার উপাদানগুলোকে পূণরায় শুরু করার দরকার নেই যা রিজিউম অবস্থায় নিয়ে যেতে যেকোন কলব্যাক মেথড এর সময় তৈরী করা হয়।