Wednesday, May 14, 2014

এন্ড্রয়েড রানটাইম

এন্ড্রয়েড ভার্সন “কিটকাট” অনেক গুলি নূতন বৈশিষ্ট্য নিয়ে যাত্রা শুরু করেছে বেশকিছু দিন হলো।এর মাঝে কিছু দৃশ্যমান বৈশিষ্ট্য ও কিছু অদৃশ্যমান বৈশিষ্ট্য আছে। অদৃশ্যমান বৈশিষ্ট্য গুলির মধ্যে উল্লেখ যোগ্য হলো ARTএটি মূলত নূতন একটি রানটাইম কম্পাইলার (Runtime Compiler) যা পূর্ববর্তী Dalvik কে প্রতিস্থাপন করেছে। চলুন একটু বিস্তারিত আলোচনা করা যাক –
ARTmain
এন্ড্রয়েড কোড বা কোড গুলি কার্যকর করতে ভার্চুয়াল মেশিন ব্যাবহার করে থাকে। Dalvik, যা ডিফল্ট রানটাইম হিসাবে এন্ড্রয়েড ডিভাইস গুলিতে ব্যাবহার হয়ে থাকে। এমনকি এন্ড্রয়েড ভার্সন ২.২ থেকে Dalvik জাভা ল্যাঙ্গুয়েজ কে bytecode এ ব্যাখ্যা করার কাজে ব্যাবহৃত হয়ে আসছে। মানে – জাভা কোড কে Just-In-Time এ কম্পাইল করে bytecode এ রূপান্তর করা হয় ডিভাইসে কাজ করার জন্যে। এখন যদি অ্যাপ্লিকেশনটি আকারে বড় হয় তাহলে এটি ডিভাইসে রান করতে কিছু সময়ের প্রয়োজন, কারন জাভা কোড গুলি bytecode এ রূপান্তর করতে কিছু সময় দরকার। 
আবার কিছু অ্যাপ এ odex এর একটি ব্যাপার আছে। odex হলো pre-processed ভার্সন যে কোন অ্যাপ্লিকেশনের জন্যে, যা classes.dex আকারে থেকে Dalvik এর জন্যে। এই পদ্ধতিতে কোডের কিছু অংশ প্রি-কম্পাইল করা থাকে রান টাইম কমানোর জন্যে। যাতে অ্যাপটি দ্রুত ডিভাইসে রান করতে পারে। কিন্তু এতে কিছু সমস্যাও আছে, তার মধ্যে অন্যতম এই ধরনের অ্যাপ গুলি ডিভাইসের যায়গা বেশী দখল করে রাখে। তাই অনেক ব্যাবহার কারী এই ধরনের অ্যাপ গুলি পছন্দ করেন না। বিশেষত যাদের ডিভাইসের যায়গার পরিমাণ কম বা নির্দিষ্ট।
যদিও Dalvik এখনো একটি ক্রমবর্ধমান প্রকল্প, কিন্তু এন্ড্রয়েড ডেভলপাররা একটি উচ্চ ক্ষমতা সম্পন্ন রানটাইম কম্পাইলার জন্য এটি পরিবর্তন বা প্রতিস্থাপন করার সিদ্ধান্ত নিয়েছে Android Run Time (ART) দ্বারা। এইখানে কম্পাইল পদ্ধতি হিসেবে Ahead-of-Time ব্যাবহার করা হয়েছে, যেখানে bytecode কম্পাইল করা থাকেবে অ্যাপটি ইন্সটলের সময়। এখানে বলে রাখা ভালো bytecode হল মেশিন ল্যাঙ্গুয়েজ বা মেশিন লেভেল কোড। যেহেতু এই পদ্ধতিতে bytecode প্রি-কম্পাইল হয়ে থাকবে ইন্সটলের সময়, তাই অ্যাপ রান টাইম অনেক কমে যাবে, কিন্তু এই পদ্ধতিতে অ্যাপ ইন্সটল টাইম বেড়ে যাবে এবং ডিভাইসে কিছু পরিমাণ বেশী যায়গা দখল করবে।
যদিও এই সমস্যা গুলি বর্তমান সময়ের ডিভাইস গুলিতে তেমন বুঝা যাবেনা, কিন্তু ভবিষ্যৎ এ (64-bit সিস্টেম) এর প্রয়োজনীয়তা ব্যাপক ভাবে উপলব্ধি হবে বলে মনে করি।
ART1ART2
ডিভাইসে ART সক্রিয় করতে নিচের পদ্ধতি অনুসরণ করুনঃ
Settings > Developer options > Select runtime

No comments:

Post a Comment