একটি স্ন্যাপশট হল একটি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) এর একটি সংরক্ষিত ছবি যা OS সেটিংস, অ্যাপ্লিকেশানের অবস্থা এবং ব্যবহারকারীর ডেটা সহ ডিভাইসটির সম্পূর্ণ অবস্থা সংরক্ষণ করে। আপনি একটি স্ন্যাপশট লোড করে একটি সংরক্ষিত সিস্টেমের অবস্থায় ফিরে আসতে পারেন, ভার্চুয়াল ডিভাইসে অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলি পুনরায় চালু হওয়ার জন্য অপেক্ষা করার সময় বাঁচাতে, সেইসাথে আপনার অ্যাপটিকে সেই অবস্থায় ফিরিয়ে আনার প্রচেষ্টাকে বাঁচাতে পারেন যেখানে আপনি আপনার পরীক্ষা পুনরায় শুরু করতে চান। একটি স্ন্যাপশট লোড করে একটি ভার্চুয়াল ডিভাইস শুরু করা অনেকটা স্লিপ স্টেট থেকে একটি ফিজিক্যাল ডিভাইসকে জাগানোর মতো, এটিকে পাওয়ারড-অফ অবস্থা থেকে বুট করার বিপরীতে।
প্রতিটি AVD-এর জন্য, আপনার একটি কুইক বুট স্ন্যাপশট এবং যেকোনো সংখ্যক সাধারণ স্ন্যাপশট থাকতে পারে।
স্ন্যাপশটগুলির সুবিধা নেওয়ার সহজ উপায় হল একটি দ্রুত বুট স্ন্যাপশট ব্যবহার করা। ডিফল্টরূপে, প্রতিটি AVD স্বয়ংক্রিয়ভাবে প্রস্থান করার সময় একটি কুইক বুট স্ন্যাপশট সংরক্ষণ করতে সেট করা থাকে এবং শুরুতে একটি দ্রুত বুট স্ন্যাপশট থেকে লোড হয়।
প্রথমবার যখন একটি AVD শুরু হয়, এটিকে অবশ্যই একটি ডিভাইসে পাওয়ারের মতো একটি ঠান্ডা বুট করতে হবে। যদি দ্রুত বুট সক্ষম করা হয়, তবে পরবর্তী সমস্ত নির্দিষ্ট স্ন্যাপশট থেকে লোড শুরু হয় এবং সিস্টেমটি সেই স্ন্যাপশটে সংরক্ষিত অবস্থায় পুনরুদ্ধার করা হয়।
একটি AVD একটি কোল্ড বুটের চেয়ে দ্রুত বুট স্ন্যাপশট ব্যবহার করে 10 গুণ দ্রুত বুট করতে পারে। এই কারণেই আমরা আপনার AVD-তে প্রাথমিক বুট করার পরে দ্রুত বুট (যখন সম্ভব) ব্যবহার করার পরামর্শ দেব।
স্ন্যাপশটগুলি সিস্টেম ইমেজ, AVD কনফিগারেশন এবং এমুলেটর বৈশিষ্ট্যগুলির জন্য বৈধ যেগুলির সাথে তারা সংরক্ষিত হয়৷ আপনি যখন এই ক্ষেত্রগুলির মধ্যে কোনও পরিবর্তন করেন, প্রভাবিত AVD-এর সমস্ত স্ন্যাপশট অবৈধ হয়ে যায়। অ্যান্ড্রয়েড এমুলেটর, সিস্টেম ইমেজ, বা AVD সেটিংসের যেকোনো আপডেট AVD-এর সংরক্ষিত অবস্থাকে রিসেট করে, তাই পরের বার আপনি যখন AVD শুরু করবেন, এটিকে অবশ্যই একটি কোল্ড বুট করতে হবে।
স্ন্যাপশটগুলি সংরক্ষণ, লোড করা এবং পরিচালনার জন্য সর্বাধিক নিয়ন্ত্রণগুলি স্ন্যাপশট ফলকের স্ন্যাপশট এবং সেটিংস ট্যাবে রয়েছে৷ আপনি যদি অ্যান্ড্রয়েড স্টুডিওতে একটি টুল উইন্ডোতে এমুলেটর চালাচ্ছেন, স্ন্যাপশট প্যান বোতামটি এমুলেটর টুলবারে রয়েছে। আপনি যদি অ্যান্ড্রয়েড স্টুডিওর বাইরে একটি স্বতন্ত্র উইন্ডোতে এমুলেটর চালান, স্ন্যাপশট ফলকটি বর্ধিত নিয়ন্ত্রণ উইন্ডোতে রয়েছে।
কমান্ড লাইন থেকে এমুলেটর শুরু করার সময় আপনি দ্রুত বুট বিকল্পগুলিও নিয়ন্ত্রণ করতে পারেন।
দ্রুত বুট স্ন্যাপশট সংরক্ষণ করুন
আপনি বন্ধ করার সময় এমুলেটর স্বয়ংক্রিয়ভাবে একটি স্ন্যাপশট সংরক্ষণ করে কিনা তা আপনি নির্দিষ্ট করতে পারেন। এই আচরণ নিয়ন্ত্রণ করতে, নিম্নলিখিত হিসাবে এগিয়ে যান:
- স্ন্যাপশট সেটিংস খুলুন। যদি এমুলেটরটি অ্যান্ড্রয়েড স্টুডিওতে এম্বেড করা থাকে তবে টুলবারে স্ন্যাপশটগুলিতে ক্লিক করুন। যদি এমুলেটরটি একটি পৃথক উইন্ডোতে থাকে তবে বর্ধিত নিয়ন্ত্রণ উইন্ডোটি খুলুন।
- নিয়ন্ত্রণের স্ন্যাপশট বিভাগে, সেটিংস ট্যাবে নেভিগেট করুন।
নিম্নলিখিত বিকল্পগুলির মধ্যে একটি নির্বাচন করতে কুইকবুট মেনুতে বর্তমান অবস্থা স্বয়ংক্রিয়ভাবে সংরক্ষণ করুন:
হ্যাঁ : আপনি যখন এমুলেটর বন্ধ করবেন তখন সর্বদা একটি AVD স্ন্যাপশট সংরক্ষণ করুন৷ এটি ডিফল্ট।
না : আপনি এমুলেটর বন্ধ করার সময় একটি AVD স্ন্যাপশট সংরক্ষণ করবেন না।
আপনার নির্বাচন শুধুমাত্র খোলা AVD-তে প্রযোজ্য। ADB অফলাইনে থাকা অবস্থায় আপনি স্ন্যাপশট সংরক্ষণ করতে পারবেন না (যেমন যখন AVD এখনও বুট হচ্ছে)।
সাধারণ স্ন্যাপশট সংরক্ষণ করুন
যেখানে প্রতিটি AVD-এর জন্য আপনার কাছে শুধুমাত্র একটি Quick Boot স্ন্যাপশট থাকতে পারে, আপনি প্রতিটি AVD-এর জন্য একাধিক সাধারণ স্ন্যাপশট থাকতে পারেন।
একটি সাধারণ স্ন্যাপশট সংরক্ষণ করতে, স্ন্যাপশট ফলকটি খুলুন এবং নীচের-ডান কোণায় স্ন্যাপশট নিন বোতামটি ক্লিক করুন।
নির্বাচিত স্ন্যাপশটের নাম এবং বিবরণ সম্পাদনা করতে, সম্পাদনায় ক্লিক করুন ফলকের নীচে বোতাম।
একটি স্ন্যাপশট মুছুন
একটি স্ন্যাপশট ম্যানুয়ালি মুছতে, স্ন্যাপশট প্যানটি খুলুন, স্ন্যাপশটটি নির্বাচন করুন এবং মুছুতে ক্লিক করুন ফলকের নীচে বোতাম।
আপনি স্ন্যাপশটগুলি অবৈধ হয়ে গেলে এমুলেটর স্বয়ংক্রিয়ভাবে মুছে ফেলতে চান কিনা তাও আপনি নির্দিষ্ট করতে পারেন, যেমন যখন AVD সেটিংস বা এমুলেটর সংস্করণ পরিবর্তন হয়। ডিফল্টরূপে, এমুলেটর আপনাকে জিজ্ঞাসা করে যে আপনি এটি অবৈধ স্ন্যাপশটগুলি মুছতে চান কিনা। আপনি স্ন্যাপশট ফলকের সেটিংস ট্যাবে অবৈধ স্ন্যাপশট মুছুন মেনু দিয়ে এই সেটিংটি পরিবর্তন করতে পারেন।
একটি স্ন্যাপশট লোড করুন
যেকোনো সময় একটি স্ন্যাপশট লোড করতে, এমুলেটরের স্ন্যাপশট প্যান খুলুন, স্ন্যাপশট বিভাগ নির্বাচন করুন, একটি স্ন্যাপশট চয়ন করুন এবং লোড ক্লিক করুন ফলকের নীচে বোতাম।
অ্যান্ড্রয়েড স্টুডিও 3.2 এবং উচ্চতর, প্রতিটি ডিভাইস কনফিগারেশনে ভার্চুয়াল ডিভাইস কনফিগারেশন ডায়ালগের উন্নত সেটিংসে একটি বুট বিকল্প নিয়ন্ত্রণ অন্তর্ভুক্ত থাকে। AVD শুরু করার সময় কোন স্ন্যাপশট লোড হবে তা নির্দিষ্ট করতে আপনি নিয়ন্ত্রণটি ব্যবহার করতে পারেন।
দ্রুত বুট অক্ষম করুন
আপনি যদি দ্রুত বুট অক্ষম করতে চান যাতে আপনার AVD সর্বদা একটি ঠান্ডা বুট সম্পাদন করে, নিম্নলিখিতগুলি করুন:
- টুলস > ডিভাইস ম্যানেজার নির্বাচন করুন এবং এই AVD সম্পাদনা করুন ক্লিক করুন .
- অ্যাডভান্সড সেটিংস দেখান ক্লিক করুন এবং এমুলেটেড পারফরম্যান্সে নিচে স্ক্রোল করুন।
- কোল্ড বুট নির্বাচন করুন।
ঠান্ডা বুট একবার
দ্রুত বুট সম্পূর্ণরূপে নিষ্ক্রিয় করার পরিবর্তে, আপনি ডিভাইস ম্যানেজারে AVD-এর মেনু থেকে Cold Boot-এ ক্লিক করে কোল্ড বুট করতে পারেন৷
স্ন্যাপশট প্রয়োজনীয়তা এবং সমস্যা সমাধান
- স্ন্যাপশটগুলি Android 4.0.4 (API লেভেল 15) বা তার নিচের সংস্করণে কাজ করে না।
- স্ন্যাপশটগুলি Android 8.0 (API স্তর 26) এর জন্য ARM সিস্টেম চিত্রগুলির সাথে কাজ করে না।
- যদি এমুলেটর একটি স্ন্যাপশট থেকে বুট করতে ব্যর্থ হয়, তাহলে ডিভাইস ম্যানেজারে AVD-এর জন্য কোল্ড বুট নির্বাচন করুন এবং একটি বাগ রিপোর্ট জমা দিন ।
- সফ্টওয়্যার রেন্ডারিং সক্ষম হলে স্ন্যাপশটগুলি নির্ভরযোগ্য নয়৷ যদি স্ন্যাপশটগুলি কাজ না করে, এই AVD সম্পাদনা করুন ক্লিক করুন৷ ডিভাইস ম্যানেজারে এবং হার্ডওয়্যার বা স্বয়ংক্রিয় গ্রাফিক্স পরিবর্তন করুন।
- একটি স্ন্যাপশট লোড করা বা সংরক্ষণ করা একটি মেমরি-নিবিড় অপারেশন। লোড বা সংরক্ষণ অপারেশন শুরু হলে আপনার কাছে পর্যাপ্ত র্যাম ফ্রি না থাকলে, অপারেটিং সিস্টেম RAM-এর বিষয়বস্তু হার্ড ডিস্কে অদলবদল করতে পারে, যা অপারেশনটিকে অনেক ধীর করে দিতে পারে। আপনি যদি খুব ধীরগতির স্ন্যাপশট লোড বা সংরক্ষণ অনুভব করেন, আপনি RAM মুক্ত করে এই ক্রিয়াকলাপগুলিকে গতি দিতে সক্ষম হতে পারেন। আপনার কাজের জন্য প্রয়োজনীয় নয় এমন অ্যাপ্লিকেশনগুলি বন্ধ করা RAM মুক্ত করার একটি ভাল উপায়।