অ্যান্ড্রয়েড স্টুডিও ৩.৩ (জানুয়ারি ২০১৯)
অ্যান্ড্রয়েড স্টুডিও ৩.৩ একটি প্রধান সংস্করণ, যাতে বিভিন্ন নতুন বৈশিষ্ট্য এবং উন্নতি অন্তর্ভুক্ত করা হয়েছে।
৩.৩.২ (মার্চ ২০১৯)
এই ছোট আপডেটটিতে বিভিন্ন বাগ সংশোধন এবং পারফরম্যান্সের উন্নতি অন্তর্ভুক্ত রয়েছে। উল্লেখযোগ্য বাগ সংশোধনের তালিকা দেখতে, রিলিজ আপডেট ব্লগে সংশ্লিষ্ট পোস্টটি পড়ুন।
৩.৩.১ (ফেব্রুয়ারি ২০১৯)
এই ছোট আপডেটটিতে বিভিন্ন বাগ সংশোধন এবং পারফরম্যান্সের উন্নতি অন্তর্ভুক্ত রয়েছে।
ইন্টেলিজ আইডিয়া ২০১৮.২.২
2018.2.2 রিলিজের মাধ্যমে ইন্টেলিজ আইডিয়া থেকে প্রাপ্ত উন্নতিসমূহ দ্বারা মূল অ্যান্ড্রয়েড স্টুডিও আইডিই আপডেট করা হয়েছে।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন আপডেট
অ্যান্ড্রয়েড গ্র্যাডল প্লাগইনে নতুন কী কী এসেছে, সে সম্পর্কে জানতে এর রিলিজ নোট দেখুন।
নেভিগেশন সম্পাদক
নেভিগেশন এডিটর আপনাকে নেভিগেশন আর্কিটেকচার কম্পোনেন্ট ব্যবহার করে আপনার অ্যাপে দ্রুত নেভিগেশন কল্পনা করতে এবং তৈরি করতে সাহায্য করে।

আরও তথ্যের জন্য, নেভিগেশন আর্কিটেকচার কম্পোনেন্ট ব্যবহার করে নেভিগেশন বাস্তবায়ন দেখুন।
অব্যবহৃত অ্যান্ড্রয়েড স্টুডিও ডিরেক্টরিগুলি মুছে ফেলুন
আপনি যখন প্রথমবারের মতো অ্যান্ড্রয়েড স্টুডিও-র কোনো প্রধান সংস্করণ চালান, তখন এটি এমন সংস্করণগুলির ক্যাশে, সেটিংস, ইনডেক্স এবং লগ ধারণকারী ডিরেক্টরিগুলি খুঁজে দেখে, যেগুলির জন্য কোনো সংশ্লিষ্ট ইনস্টলেশন খুঁজে পাওয়া যায় না। এরপর 'অব্যবহৃত অ্যান্ড্রয়েড স্টুডিও ডিরেক্টরি মুছুন ' ডায়ালগ বক্সটি এই অব্যবহৃত ডিরেক্টরিগুলির অবস্থান, আকার এবং শেষ পরিবর্তনের সময় প্রদর্শন করে এবং সেগুলি মুছে ফেলার একটি বিকল্প প্রদান করে।
অ্যান্ড্রয়েড স্টুডিও যে ডিরেক্টরিগুলো মুছে ফেলার জন্য বিবেচনা করে, সেগুলো নিচে তালিকাভুক্ত করা হলো:
- লিনাক্স:
~/.AndroidStudio[Preview] XY - Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview] XY - উইন্ডোজ:
%USER%.AndroidStudio[Preview] XY

লিন্ট উন্নতি
Gradle থেকে Lint চালু করা হলে এটি উল্লেখযোগ্যভাবে দ্রুত কাজ করে—বড় প্রজেক্টগুলোতে Lint চার গুণ পর্যন্ত দ্রুত চলতে পারে।
নতুন প্রজেক্ট তৈরি করার উইজার্ড
নতুন প্রজেক্ট তৈরি করার উইজার্ডটি একটি নতুন রূপ পেয়েছে এবং এতে এমন কিছু আপডেট আনা হয়েছে যা নতুন অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট তৈরির প্রক্রিয়াকে আরও সহজ করে তোলে।

আরও তথ্যের জন্য, ‘প্রকল্প তৈরি করুন’ দেখুন।
প্রোফাইলার আপডেট
অ্যান্ড্রয়েড স্টুডিও ৩.৩-এ বেশ কয়েকটি স্বতন্ত্র প্রোফাইলারের আপডেট অন্তর্ভুক্ত করা হয়েছে।
উন্নত কর্মক্ষমতা
ব্যবহারকারীদের মতামতের ভিত্তিতে, প্রোফাইলার ব্যবহার করার সময় রেন্ডারিং পারফরম্যান্স অনেক উন্নত করা হয়েছে। অনুগ্রহ করে মতামত জানাতে থাকুন, বিশেষ করে যদি আপনি পারফরম্যান্স সংক্রান্ত সমস্যা দেখতে থাকেন।
প্রোফাইলার মেমরি বরাদ্দ ট্র্যাকিং বিকল্পগুলি
প্রোফাইলিং করার সময় অ্যাপের পারফরম্যান্স উন্নত করার জন্য, মেমরি প্রোফাইলার এখন ডিফল্টরূপে পর্যায়ক্রমে মেমরি অ্যালোকেশনের স্যাম্পল নেয়। চাইলে, অ্যান্ড্রয়েড ৮.০ (এপিআই লেভেল ২৬) বা তার উচ্চতর সংস্করণে চালিত ডিভাইসে পরীক্ষা করার সময় অ্যালোকেশন ট্র্যাকিং ড্রপডাউন ব্যবহার করে আপনি এই আচরণটি পরিবর্তন করতে পারেন।

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

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

নেটওয়ার্ক প্রোফাইলার-এ সংযোগ পেলোডগুলির জন্য ফরম্যাট করা টেক্সট দেখুন
পূর্বে, নেটওয়ার্ক প্রোফাইলার কানেকশন পেলোড থেকে শুধুমাত্র মূল টেক্সট প্রদর্শন করত। অ্যান্ড্রয়েড স্টুডিও ৩.৩ এখন ডিফল্টরূপে JSON, XML, এবং HTML সহ নির্দিষ্ট কিছু টেক্সট টাইপ ফরম্যাট করে। রেসপন্স এবং রিকোয়েস্ট ট্যাবে, ফরম্যাট করা টেক্সট দেখতে 'View Parsed' লিঙ্কে ক্লিক করুন এবং মূল টেক্সট দেখতে 'View Source' লিঙ্কে ক্লিক করুন।

আরও তথ্যের জন্য, নেটওয়ার্ক প্রোফাইলার দিয়ে নেটওয়ার্ক ট্র্যাফিক পরিদর্শন দেখুন।
SDK উপাদানগুলির স্বয়ংক্রিয় ডাউনলোড
যখন আপনার প্রোজেক্টের জন্য NDK বা CMake-এর মতো SDK প্ল্যাটফর্ম থেকে কোনো SDK কম্পোনেন্টের প্রয়োজন হয়, তখন Gradle এখন প্রয়োজনীয় প্যাকেজগুলো স্বয়ংক্রিয়ভাবে ডাউনলোড করার চেষ্টা করে, যদি আপনি আগে থেকেই SDK ম্যানেজার ব্যবহার করে সংশ্লিষ্ট লাইসেন্স চুক্তিগুলো গ্রহণ করে থাকেন।
আরও তথ্যের জন্য, Gradle-এর মাধ্যমে অনুপস্থিত প্যাকেজগুলি স্বয়ংক্রিয়ভাবে ডাউনলোড দেখুন।
Clang-Tidy-এর জন্য সমর্থন
যেসব প্রোজেক্টে নেটিভ কোড থাকে, সেগুলোর জন্য অ্যান্ড্রয়েড স্টুডিওতে এখন Clang-Tidy ব্যবহার করে স্ট্যাটিক কোড অ্যানালাইসিসের সুবিধা রয়েছে। Clang-Tidy-এর সাপোর্ট চালু করতে, আপনার NDK r18 বা তার উচ্চতর সংস্করণে আপডেট করুন ।
এরপর আপনি সেটিংস বা প্রেফারেন্সেস ডায়ালগ খুলে এডিটর > ইন্সপেকশনস > C/C++ > জেনারেল > ক্ল্যাং-টাইডি- তে গিয়ে ইন্সপেকশনগুলো সক্রিয় বা পুনরায় সক্রিয় করতে পারেন। সেটিংস বা প্রেফারেন্সেস ডায়ালগে এই ইন্সপেকশনটি নির্বাচন করলে, আপনি ডানদিকের প্যানেলের অপশন সেকশনের অধীনে সক্রিয় এবং নিষ্ক্রিয় থাকা ক্ল্যাং-টাইডি চেকগুলোর তালিকাও দেখতে পাবেন। অতিরিক্ত চেক সক্রিয় করতে, সেগুলোকে তালিকায় যোগ করুন এবং অ্যাপ্লাই-এ ক্লিক করুন।
অতিরিক্ত অপশন দিয়ে Clang-Tidy কনফিগার করতে, ‘Configure Clang-Tidy Checks Options’-এ ক্লিক করুন এবং যে ডায়ালগটি খুলবে সেখানে সেগুলি যোগ করুন।
C++ কাস্টমাইজেশনের বিকল্পগুলি অপসারণ
কাস্টমাইজ সি++ সাপোর্ট ডায়ালগ থেকে নিম্নলিখিত বিকল্পগুলি সরিয়ে দেওয়া হয়েছে:
- ব্যতিক্রম সমর্থন (-fexceptions)
- রানটাইম টাইপ তথ্য সমর্থন (-ftti)
অ্যান্ড্রয়েড স্টুডিওর মাধ্যমে তৈরি করা সমস্ত প্রোজেক্টের জন্য সংশ্লিষ্ট আচরণগুলো সক্রিয় করা থাকে।
CMake সংস্করণ 3.10.2
CMake সংস্করণ 3.10.2 এখন SDK ম্যানেজারের সাথে অন্তর্ভুক্ত করা হয়েছে। উল্লেখ্য যে, Gradle এখনও ডিফল্টরূপে সংস্করণ 3.6.0 ব্যবহার করে।
Gradle-এর ব্যবহারের জন্য CMake সংস্করণ নির্দিষ্ট করতে, আপনার মডিউলের build.gradle ফাইলে নিম্নলিখিতটি যোগ করুন:
android {
...
externalNativeBuild {
cmake {
...
version "3.10.2"
}
}
}
build.gradle এ CMake কনফিগার করার বিষয়ে আরও তথ্যের জন্য, ম্যানুয়ালি গ্রেডল কনফিগার করুন (Manually configure Gradle ) দেখুন।
সর্বনিম্ন CMake সংস্করণ নির্দিষ্ট করার জন্য নতুন “+” সিনট্যাক্স
আপনার প্রধান মডিউলের build.gradle ফাইলে CMake-এর ভার্সন নির্দিষ্ট করার সময়, এখন আপনি CMake-এর cmake_minimum_required() কমান্ডের আচরণের সাথে মেলানোর জন্য শেষে একটি “+” চিহ্ন যুক্ত করতে পারেন।
সতর্কতা: অন্যান্য বিল্ড ডিপেন্ডেন্সির সাথে "+" সিনট্যাক্স ব্যবহার করা নিরুৎসাহিত করা হয়, কারণ ডাইনামিক ডিপেন্ডেন্সি অপ্রত্যাশিত ভার্সন আপডেট ঘটাতে পারে এবং ভার্সনের পার্থক্য সমাধানে অসুবিধা সৃষ্টি করতে পারে।
অ্যান্ড্রয়েড অ্যাপ বান্ডেল এখন ইনস্ট্যান্ট অ্যাপ সমর্থন করে।
অ্যান্ড্রয়েড স্টুডিও এখন আপনাকে গুগল প্লে ইনস্ট্যান্ট- এর সম্পূর্ণ সমর্থন সহ অ্যান্ড্রয়েড অ্যাপ বান্ডেল তৈরি করার সুযোগ দেয়। অন্য কথায়, আপনি এখন একটিমাত্র অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট থেকে ইনস্টল করা অ্যাপ এবং ইনস্ট্যান্ট এক্সপেরিয়েন্স উভয়ই বিল্ড ও ডেপ্লয় করতে পারবেন এবং সেগুলোকে একটিমাত্র অ্যান্ড্রয়েড অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে পারবেন।
আপনি যদি 'Create New Project' ডায়ালগ ব্যবহার করে একটি নতুন Android Studio প্রজেক্ট তৈরি করেন, তাহলে 'Configure your project > This project will support instant apps'-এর পাশের বক্সে টিক চিহ্ন দিতে ভুলবেন না। এরপর Android Studio স্বাভাবিকভাবেই একটি নতুন অ্যাপ প্রজেক্ট তৈরি করে, কিন্তু আপনার অ্যাপের বেস মডিউলে ইনস্ট্যান্ট অ্যাপ সাপোর্ট যোগ করার জন্য আপনার ম্যানিফেস্টে নিম্নলিখিত প্রোপার্টিগুলো অন্তর্ভুক্ত করে:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
এরপর আপনি মেনু বার থেকে ফাইল > নতুন > নতুন মডিউল নির্বাচন করে এবং তারপর নতুন মডিউল তৈরি করুন ডায়ালগ থেকে ইনস্ট্যান্ট ডাইনামিক ফিচার মডিউল নির্বাচন করে একটি ইনস্ট্যান্ট-সক্ষম ফিচার মডিউল তৈরি করতে পারেন। মনে রাখবেন, এই মডিউলটি তৈরি করলে আপনার অ্যাপের বেস মডিউলটিও ইনস্ট্যান্ট-সক্ষম হয়ে যাবে।
আপনার অ্যাপটিকে স্থানীয় ডিভাইসে তাৎক্ষণিক অভিজ্ঞতা হিসেবে স্থাপন করতে, আপনার রান কনফিগারেশন সম্পাদনা করুন এবং General > Deploy as instant app- এর পাশের বক্সে টিক চিহ্ন দিন।
একক-ভেরিয়েন্ট প্রজেক্ট সিঙ্ক
আপনার প্রজেক্টের গঠন অ্যান্ড্রয়েড স্টুডিওকে বোঝানোর জন্য, বিল্ড কনফিগারেশনের সাথে প্রজেক্ট সিঙ্ক করা একটি গুরুত্বপূর্ণ পদক্ষেপ। তবে, বড় প্রজেক্টের ক্ষেত্রে এই প্রক্রিয়াটি সময়সাপেক্ষ হতে পারে। যদি আপনার প্রজেক্টে একাধিক বিল্ড ভ্যারিয়েন্ট ব্যবহৃত হয়, তবে এখন আপনি শুধুমাত্র আপনার বর্তমানে নির্বাচিত ভ্যারিয়েন্টটিতে সিঙ্ক সীমাবদ্ধ রেখে প্রজেক্ট সিঙ্ক অপ্টিমাইজ করতে পারেন।
এই অপটিমাইজেশনটি চালু করতে আপনাকে অ্যান্ড্রয়েড স্টুডিও ৩.৩ বা তার উচ্চতর সংস্করণ এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৩.৩.০ বা তার উচ্চতর সংস্করণ ব্যবহার করতে হবে। যখন আপনি এই শর্তগুলো পূরণ করবেন, তখন আপনার প্রজেক্ট সিঙ্ক করার সময় IDE আপনাকে এই অপটিমাইজেশনটি চালু করার জন্য অনুরোধ করবে। নতুন প্রজেক্টগুলোতেও এই অপটিমাইজেশনটি ডিফল্টভাবে চালু থাকে।
এই অপ্টিমাইজেশনটি ম্যানুয়ালি চালু করতে, ফাইল > সেটিংস > এক্সপেরিমেন্টাল > গ্র্যাডল (ম্যাকে অ্যান্ড্রয়েড স্টুডিও > প্রেফারেন্সেস > এক্সপেরিমেন্টাল > গ্র্যাডল ) -এ ক্লিক করুন এবং ‘ অনলি সিঙ্ক দ্য অ্যাক্টিভ ভ্যারিয়েন্ট’ চেকবক্সটি নির্বাচন করুন।
দ্রষ্টব্য: এই অপ্টিমাইজেশনটি বর্তমানে শুধুমাত্র জাভা প্রোগ্রামিং ভাষা অন্তর্ভুক্ত থাকা প্রোজেক্টগুলোকে সমর্থন করে। উদাহরণস্বরূপ, যদি IDE আপনার প্রোজেক্টে কোটলিন বা C++ কোড শনাক্ত করে, তবে এটি স্বয়ংক্রিয়ভাবে এই অপ্টিমাইজেশনটি সক্রিয় করে না, এবং আপনার এটি ম্যানুয়ালি সক্রিয় করার প্রয়োজন নেই।
আরও তথ্যের জন্য, ‘Enable single-variant project sync’ দেখুন।
দ্রুত প্রতিক্রিয়া জানান
অ্যান্ড্রয়েড স্টুডিও-র উন্নতি সাধনের উদ্দেশ্যে ব্যবহারের পরিসংখ্যান শেয়ার করার সম্মতি দিয়ে থাকলে, আপনি IDE উইন্ডোর নিচের স্ট্যাটাস বারে এই দুটি নতুন আইকন দেখতে পাবেন:


আইডিই (IDE)-এর সাথে আপনার বর্তমান অভিজ্ঞতাকে সবচেয়ে ভালোভাবে প্রকাশ করে এমন আইকনটিতে কেবল ক্লিক করুন। আপনি যখন এটি করবেন, আইডিই ব্যবহারের পরিসংখ্যান পাঠাবে, যা অ্যান্ড্রয়েড স্টুডিও টিমকে আপনার মনোভাব আরও ভালোভাবে বুঝতে সাহায্য করবে। কিছু ক্ষেত্রে, যেমন যখন আপনি আইডিই-এর সাথে কোনো নেতিবাচক অভিজ্ঞতার কথা জানাবেন, তখন আপনার কাছে অতিরিক্ত মতামত জানানোর সুযোগ থাকবে।
যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে ব্যবহারের পরিসংখ্যান শেয়ার করা চালু করতে, Mac-এ সেটিংস ডায়ালগ (Preferences ) খুলুন, Appearance & Behavior > System Settings > Data Sharing- এ যান এবং 'Send usage statistics to Google' বিকল্পটি চেক করুন।