বিজ্ঞাপন বন্ধ করুন

এখনও অনেক লোক আছেন যারা জানেন না কিভাবে iOS এ মাল্টিটাস্কিং কাজ করে। শুরুতে, যাইহোক, এটি উল্লেখ করা প্রয়োজন যে এটি বাস্তব মাল্টিটাস্কিং নয়, তবে একটি খুব স্মার্ট সমাধান যা সিস্টেম বা ব্যবহারকারীর উপর ভার বহন করে না।

কেউ প্রায়ই কুসংস্কার শুনতে পারে যে iOS-এ ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলি অপারেটিং মেমরি পূরণ করে, যা সিস্টেমের ধীরগতির দিকে পরিচালিত করে এবং ব্যাটারির আয়ু হ্রাস করে, তাই ব্যবহারকারীর উচিত সেগুলি ম্যানুয়ালি বন্ধ করা। মাল্টিটাস্কিং বারে আসলে সমস্ত চলমান ব্যাকগ্রাউন্ড প্রক্রিয়াগুলির একটি তালিকা থাকে না, তবে শুধুমাত্র অতি সম্প্রতি চালু হওয়া অ্যাপ্লিকেশনগুলি। তাই ব্যবহারকারীকে কিছু ক্ষেত্রে ছাড়া ব্যাকগ্রাউন্ডে চলমান প্রক্রিয়া সম্পর্কে চিন্তা করতে হবে না। আপনি যখন হোম বোতাম টিপুন, অ্যাপ্লিকেশনটি সাধারণত ঘুমাতে যায় বা বন্ধ হয়ে যায়, যাতে এটি আর প্রসেসর বা ব্যাটারি লোড না করে এবং প্রয়োজনে প্রয়োজনীয় মেমরি মুক্ত করে।

যখন আপনার কয়েক ডজন প্রক্রিয়া চলমান থাকে তখন এটি সম্পূর্ণ মাল্টিটাস্কিং নয়৷ শুধুমাত্র একটি অ্যাপ্লিকেশন সর্বদা অগ্রভাগে চলছে, যা প্রয়োজনে বিরতি দেওয়া বা সম্পূর্ণরূপে বন্ধ করা হয়৷ ব্যাকগ্রাউন্ডে শুধুমাত্র কয়েকটি সেকেন্ডারি প্রসেস চলে। সেই কারণে আপনি খুব কমই iOS-এ একটি অ্যাপ্লিকেশন ক্র্যাশের সম্মুখীন হবেন, উদাহরণস্বরূপ, অ্যান্ড্রয়েড চলমান অ্যাপ্লিকেশনগুলির সাথে অভিভূত যা ব্যবহারকারীকে যত্ন নিতে হবে। একদিকে, এটি ডিভাইসের সাথে কাজ করাকে অপ্রীতিকর করে তোলে এবং অন্যদিকে, এটির কারণ, উদাহরণস্বরূপ, ধীর স্টার্টআপ এবং অ্যাপ্লিকেশনগুলির মধ্যে স্থানান্তর।

অ্যাপ্লিকেশন রানটাইম প্রকার

আপনার iOS ডিভাইসে অ্যাপ্লিকেশনটি এই 5টি অবস্থার একটিতে রয়েছে:

  • চলমান: অ্যাপ্লিকেশন শুরু এবং অগ্রভাগে চলমান
  • পটভূমি: এটি এখনও চলছে কিন্তু পটভূমিতে চলছে (আমরা অন্যান্য অ্যাপ্লিকেশন ব্যবহার করতে পারি)
  • স্থগিত: এখনও RAM ব্যবহার করছেন কিন্তু চলছে না
  • নিষ্ক্রিয়: অ্যাপ্লিকেশন চলছে কিন্তু পরোক্ষ কমান্ড (উদাহরণস্বরূপ, যখন আপনি অ্যাপ্লিকেশনটি চলমান অবস্থায় ডিভাইসটি লক করেন)
  • চলমান না: আবেদনটি শেষ হয়েছে বা শুরু হয়নি৷

বিভ্রান্তি আসে যখন অ্যাপটি ব্যাকগ্রাউন্ডে চলে যায় যাতে বিরক্ত না হয়। আপনি যখন হোম বোতাম টিপুন বা অ্যাপ্লিকেশন (iPad) বন্ধ করতে অঙ্গভঙ্গি ব্যবহার করেন, তখন অ্যাপ্লিকেশনটি পটভূমিতে চলে যায়। বেশিরভাগ অ্যাপ কয়েক সেকেন্ডের মধ্যে সাসপেন্ড হয়ে যায় (এগুলি iDevice-এর র‍্যামে সংরক্ষিত থাকে যাতে সেগুলি দ্রুত চালু করা যায়, তারা প্রসেসরকে ততটা লোড করে না এবং এইভাবে ব্যাটারি লাইফ বাঁচায়) আপনি ভাবতে পারেন যে কোনও অ্যাপ যদি মেমরি ব্যবহার করতে থাকে, তাহলে আপনার কাছে এটিকে মুক্ত করতে ম্যানুয়ালি মুছে ফেলুন। কিন্তু আপনাকে এটি করতে হবে না, কারণ iOS আপনার জন্য এটি করবে। আপনার যদি ব্যাকগ্রাউন্ডে স্থগিত একটি চাহিদাপূর্ণ অ্যাপ্লিকেশন থাকে, যেমন একটি গেম যা প্রচুর পরিমাণে RAM ব্যবহার করে, iOS স্বয়ংক্রিয়ভাবে এটিকে মেমরি থেকে সরিয়ে দেবে যখন প্রয়োজন হয়, এবং আপনি অ্যাপ্লিকেশন আইকনে আলতো চাপ দিয়ে এটি পুনরায় চালু করতে পারেন৷

মাল্টিটাস্কিং বারে এই রাজ্যগুলির কোনওটিই প্রতিফলিত হয় না, প্যানেলটি শুধুমাত্র সম্প্রতি চালু হওয়া অ্যাপগুলির একটি তালিকা দেখায় তা নির্বিশেষে অ্যাপটি বন্ধ, বিরতি বা পটভূমিতে চলমান কিনা। আপনি হয়তো লক্ষ্য করতে পারেন যে বর্তমানে যে অ্যাপ্লিকেশনটি চলছে সেটি মাল্টিটাস্কিং প্যানেলে প্রদর্শিত হচ্ছে না

পটভূমি কাজ

সাধারণত, আপনি যখন হোম বোতাম টিপবেন, অ্যাপ্লিকেশনটি পটভূমিতে চলবে এবং আপনি যদি এটি ব্যবহার না করেন তবে এটি স্বয়ংক্রিয়ভাবে পাঁচ সেকেন্ডের মধ্যে বিরতি দেবে। সুতরাং আপনি যদি একটি পডকাস্ট ডাউনলোড করেন, উদাহরণস্বরূপ, সিস্টেম এটিকে একটি চলমান অ্যাপ্লিকেশন হিসাবে মূল্যায়ন করে এবং দশ মিনিটের মধ্যে সমাপ্তি বিলম্বিত করে। সর্বশেষ দশ মিনিট পরে, প্রক্রিয়াটি মেমরি থেকে মুক্তি পায়। সংক্ষেপে, হোম বোতাম টিপে আপনার ডাউনলোডকে বাধাগ্রস্ত করার বিষয়ে চিন্তা করতে হবে না, যদি এটি সম্পূর্ণ হতে 10 মিনিটের বেশি সময় না নেয়।

ব্যাকগ্রাউন্ডে অনির্দিষ্টকালের চলমান

নিষ্ক্রিয়তার ক্ষেত্রে, সিস্টেমটি পাঁচ সেকেন্ডের মধ্যে অ্যাপ্লিকেশনটি বন্ধ করে দেয় এবং ডাউনলোডের ক্ষেত্রে, সমাপ্তি দশ মিনিটের জন্য বিলম্বিত হয়। যাইহোক, অল্প সংখ্যক অ্যাপ্লিকেশন রয়েছে যার জন্য ব্যাকগ্রাউন্ডে চালানো প্রয়োজন। আইওএস 5 এ অনির্দিষ্টকালের জন্য ব্যাকগ্রাউন্ডে চলতে পারে এমন কিছু অ্যাপের উদাহরণ এখানে দেওয়া হল:

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

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

যে অ্যাপগুলিকে ব্যাকগ্রাউন্ডে অনির্দিষ্টকালের জন্য চালানোর অনুমতি দেওয়া হয় সেগুলি চালানোর সময় সঙ্গীত বাজানো থেকে শুরু করে নতুন পডকাস্ট পর্বগুলি ডাউনলোড করা পর্যন্ত যেকোন কিছু করতে পারে৷

আমি আগে উল্লেখ করেছি, ব্যবহারকারীর কখনই ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলি বন্ধ করার দরকার নেই। এর একমাত্র ব্যতিক্রম হল যখন ব্যাকগ্রাউন্ডে চলমান একটি অ্যাপ ক্র্যাশ হয়ে যায় বা ঘুম থেকে ঠিকমতো জেগে ওঠে না। ব্যবহারকারী মাল্টিটাস্কিং বারে ম্যানুয়ালি অ্যাপ্লিকেশনগুলি বন্ধ করতে পারেন, তবে এটি খুব কমই ঘটে।

সুতরাং, সাধারণভাবে, আপনাকে পটভূমি প্রক্রিয়াগুলি পরিচালনা করার দরকার নেই কারণ সিস্টেম নিজেই সেগুলির যত্ন নেবে৷ এই কারণেই আইওএস এমন একটি তাজা এবং দ্রুত সিস্টেম।

একটি বিকাশকারীর দৃষ্টিকোণ থেকে

মাল্টিটাস্কিংয়ের অংশ হিসাবে অ্যাপ্লিকেশনটি মোট ছয়টি ভিন্ন রাজ্যের সাথে প্রতিক্রিয়া জানাতে পারে:

1. অ্যাপ্লিকেশন উইলরেজিনঅ্যাক্টিভ

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

2. অ্যাপ্লিকেশনডিডএন্টার ব্যাকগ্রাউন্ড

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

3. অ্যাপ্লিকেশন উইলএন্টারফোরগ্রাউন্ড

এই রাজ্যটি প্রথম রাজ্যের বিপরীত, যেখানে আবেদন সক্রিয় রাজ্যে পদত্যাগ করবে। রাজ্যের সহজ অর্থ হল যে স্লিপিং অ্যাপটি ব্যাকগ্রাউন্ড থেকে আবার শুরু হবে এবং পরবর্তী কয়েক মিলিসেকেন্ডের মধ্যে ফোরগ্রাউন্ডে উপস্থিত হবে। অ্যাপ্লিকেশনটি ব্যাকগ্রাউন্ডে থাকাকালীন নিষ্ক্রিয় থাকা যেকোনো প্রক্রিয়া পুনরায় শুরু করতে বিকাশকারীদের এই পদ্ধতিটি ব্যবহার করা উচিত। সার্ভারের সাথে সংযোগগুলি পুনঃস্থাপিত করা উচিত, টাইমার রিসেট করা, ছবি এবং ডেটা মেমরিতে লোড করা এবং অন্যান্য প্রয়োজনীয় প্রক্রিয়াগুলি ব্যবহারকারী লোড করা অ্যাপ্লিকেশনটি আবার দেখার আগে পুনরায় শুরু করতে পারে৷

4. applicationDidBecomActive

রাজ্যটি নির্দেশ করে যে অ্যাপ্লিকেশনটি অগ্রভাগে পুনরুদ্ধার করার পরে সক্রিয় হয়েছে৷ এটি এমন একটি পদ্ধতি যা ব্যবহারকারীর ইন্টারফেসে অতিরিক্ত সামঞ্জস্য করতে বা UI কে তার আসল অবস্থায় পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে, ইত্যাদি। এটি আসলে এমন মুহুর্তে ঘটে যখন ব্যবহারকারী ইতিমধ্যেই ডিসপ্লেতে অ্যাপ্লিকেশনটি দেখেন, তাই এটি প্রয়োজনীয় এই পদ্ধতিতে এবং পূর্ববর্তী পদ্ধতিতে কী ঘটবে তা সতর্কতার সাথে নির্ধারণ করুন। কয়েক মিলিসেকেন্ডের ব্যবধানে তাদের একের পর এক বলা হয়।

5. অ্যাপ্লিকেশন উইলটার্মিনেট

অ্যাপ্লিকেশনটি প্রস্থান করার কয়েক মিলিসেকেন্ড আগে এই অবস্থাটি ঘটে, অর্থাৎ অ্যাপ্লিকেশনটি আসলে শেষ হওয়ার আগে। হয় ম্যানুয়ালি মাল্টিটাস্কিং থেকে বা ডিভাইস বন্ধ করার সময়। পদ্ধতিটি প্রক্রিয়াকৃত ডেটা সংরক্ষণ করতে, সমস্ত ক্রিয়াকলাপ শেষ করতে এবং ডেটা মুছতে ব্যবহার করা উচিত যা আর প্রয়োজন হবে না।

6. applicationDidReceiveMemoryWarning

এটি সবচেয়ে আলোচিত সর্বশেষ রাষ্ট্র। এটি অপ্রয়োজনীয়ভাবে সিস্টেম রিসোর্স ব্যবহার করলে, iOS মেমরি থেকে অ্যাপ্লিকেশনটি সরানোর জন্য, প্রয়োজনে দায়ী। আইওএস ব্যাকগ্রাউন্ড অ্যাপ্লিকেশনগুলির সাথে কী করে তা আমি বিশেষভাবে জানি না, তবে অন্য প্রক্রিয়াগুলিতে সংস্থানগুলি প্রকাশ করার জন্য যদি এটির কোনও অ্যাপের প্রয়োজন হয় তবে এটি যা কিছু সম্পদ রয়েছে তা প্রকাশ করার জন্য এটি একটি মেমরি সতর্কতা সহ এটিকে অনুরোধ করে৷ তাই আবেদনে এই পদ্ধতি বলা হয়। বিকাশকারীদের এটি বাস্তবায়ন করা উচিত যাতে অ্যাপ্লিকেশনটি তার বরাদ্দ করা মেমরি ছেড়ে দেয়, প্রগতিশীল সবকিছু সংরক্ষণ করে, মেমরি থেকে অপ্রয়োজনীয় ডেটা সাফ করে এবং অন্যথায় পর্যাপ্তভাবে মেমরি মুক্ত করে। এটা সত্য যে অনেক ডেভেলপার, এমনকি নতুনরাও এই ধরনের জিনিসগুলি নিয়ে ভাবেন না বা বোঝেন না এবং তারপরে এটি ঘটতে পারে যে তাদের অ্যাপ্লিকেশন ব্যাটারি জীবনকে হুমকির মুখে ফেলে এবং/অথবা অপ্রয়োজনীয়ভাবে সিস্টেম সংস্থানগুলিকে এমনকি পটভূমিতেও ব্যবহার করে৷

রায়

এই ছয়টি রাজ্য এবং তাদের সাথে সম্পর্কিত পদ্ধতিগুলি iOS-এ সমস্ত "মাল্টিটাস্কিং" এর পটভূমি। এটি একটি দুর্দান্ত সিস্টেম, যতক্ষণ না বিকাশকারীরা এই সত্যটিকে উপেক্ষা করবেন না যে অ্যাপ্লিকেশনটি তাদের ব্যবহারকারীদের ডিভাইসে কী ছুঁড়ে দেয়, যদি সেগুলি ছোট করা হয় বা সিস্টেম থেকে সতর্কতা পাওয়া যায় ইত্যাদি সম্পর্কে দায়বদ্ধ হওয়া দরকার।

উৎস: Macworld.com

লেখক: জ্যাকব পোজারেক, মার্টিন ডুবেক (আর্নিএক্স)

 
আপনারও কি কোন সমস্যা সমাধানের আছে? আপনার কি পরামর্শ দরকার বা সম্ভবত সঠিক অ্যাপ্লিকেশনটি খুঁজে বের করা দরকার? বিভাগে ফর্মের মাধ্যমে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না কাউন্সেলিং, পরের বার আমরা আপনার প্রশ্নের উত্তর দেব।

.