অনুষ্ঠান ও কার্যক্রম

সম্পূর্ণরূপে অপ্টিমাইজ করা: পারফরম্যান্স স্পটলাইট সপ্তাহের সমাপ্তি

৩ মিনিটের পাঠ
বেন ওয়েইসের প্রোফাইল দেখুন চার্লস মাঙ্গারের প্রোফাইল দেখুন
Ben Weiss এবং Sara Hamilton

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

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

আপনার অ্যাপের গতি বাড়াতে R8 অপটিমাইজার ব্যবহার করুন।

সবচেয়ে কার্যকর ও সহজ পরিবর্তন যা আপনি করতে পারেন, তা হলো R8 অপটিমাইজারকে সম্পূর্ণরূপে সক্রিয় করা। এটি শুধু অ্যাপের আকারই কমায় না; এটি আপনার কোডকে আরও কার্যকর করার জন্য গভীরভাবে এবং সম্পূর্ণ প্রোগ্রামের অপটিমাইজেশন করে সেটিকে মৌলিকভাবে নতুন করে লেখে। আপনার Keep Rules পুনরায় পর্যালোচনা করুন এবং আপনার ইঞ্জিনিয়ারিং কাজগুলোতে R8-কে আবার অন্তর্ভুক্ত করুন।

R8 অপটিমাইজার সম্পর্কিত আমাদের নতুনভাবেহালনাগাদ ও সম্প্রসারিত ডকুমেন্টেশন আপনাকে সাহায্য করার জন্য এখানে রয়েছে।

রেডিট লক্ষ্য করেছে যে R8 ফুল মোড চালু করার পর কোল্ড স্টার্টআপ ৪০% দ্রুত হয়েছে এবং ANR ত্রুটি ৩০% কমে গেছে

আপনি আমাদের ব্লগে সম্পূর্ণ কেস স্টাডিটি পড়তে পারেন।

ছবি.png

Engineers at Disney+ invest in app performance and are optimizing the app's user experience. Sometimes even seemingly small changes can make a huge impact. While inspecting their R8 configuration, the team found that the -dontoptimize flag was being used. After enabling optimizations by removing this flag, the Disney+ team saw significant improvements in their app's performance.

ছবি.png

সুতরাং পরের বার যখন কেউ আপনাকে জিজ্ঞাসা করবে যে অ্যাপের পারফরম্যান্স উন্নত করতে কী করা যেতে পারে, তখন শুধু তাদের এই পোস্টটির লিঙ্ক দিয়ে দেবেন।

আমাদের প্রথম দিনের ব্লগে আরও পড়ুন: আপনার অ্যাপকে সংকুচিত, অপ্টিমাইজ এবং দ্রুততর করতে R8 ব্যবহার করুন।

আপনাকে আরও ভালো পারফরম্যান্সের দিকে পরিচালিত করা

বেসলাইন প্রোফাইল কার্যকরভাবে জাস্ট ইন টাইম কম্পাইলেশনের প্রয়োজনীয়তা দূর করে, যার ফলে স্টার্টআপ স্পিড, স্ক্রলিং, অ্যানিমেশন এবং সার্বিক রেন্ডারিং পারফরম্যান্স উন্নত হয়। স্টার্টআপ প্রোফাইল আপনার অ্যাপের classes.dex ফাইলগুলোতে একটি বুদ্ধিদীপ্ত বিন্যাস আনার মাধ্যমে অ্যাপ স্টার্টআপকে আরও হালকা করে তোলে।

এবং অ্যাপ পারফরম্যান্সের জন্য বেসলাইন প্রোফাইল ঠিক কতটা গুরুত্বপূর্ণ, সে সম্পর্কে আরও জানতে মেটা-র ইঞ্জিনিয়ারিং ব্লগটি পড়ুন, যেখানে তারা দেখিয়েছে কীভাবে বেসলাইন প্রোফাইল তাদের অ্যাপগুলোতে বিভিন্ন গুরুত্বপূর্ণ পারফরম্যান্স মেট্রিক ৪০% পর্যন্ত উন্নত করেছে।

Jetpack Compose 1.10- এ আমরা আপনার জন্য এটিকে আরও উন্নত পারফরম্যান্স সম্পন্ন করে চলেছি। জটিল লিস্ট আইটেম নিয়ে কাজ করার সময় স্ক্রল করার সময় ঝাঁকুনি শূন্যে নামিয়ে আনার জন্য পজযোগ্য কম্পোজিশন এবং কাস্টমাইজযোগ্য ক্যাশ উইন্ডোর মতো ফিচারগুলো অত্যন্ত গুরুত্বপূর্ণ। #TheAndroidShow-এর সর্বশেষ পর্বটি দেখুন, যেখানে আমরা এই বিষয়টি আরও বিস্তারিতভাবে ব্যাখ্যা করেছি।

আমাদের বুধবারের ব্লগে আরও পড়ুন: পারফরম্যান্স সংক্রান্ত গভীরতর বিবেচ্য বিষয়সমূহ

কর্মক্ষমতা পরিমাপ করা খুবই সহজ হতে পারে।

যা পরিমাপ করা হয় না, তা পরিচালনাও করা যায় না। আমাদের পারফরম্যান্স লেভেলিং গাইড আপনার পরিমাপের যাত্রাকে পাঁচটি ধাপে বিভক্ত করে, যা সহজলভ্য ডেটা থেকে শুরু করে উন্নত স্থানীয় টুলিং পর্যন্ত বিস্তৃত।

লেভেল ১ থেকে শুরু করে, আমরা আপনাকে শেখাবো কীভাবে অ্যান্ড্রয়েড ভাইটালস (Android Vitals) থেকে সহজেই উপলব্ধ ডেটা ব্যবহার করতে হয়, যা আপনাকে এএনআর (ANR), ক্র্যাশ এবং অতিরিক্ত ব্যাটারি ব্যবহারের বিষয়ে ফিল্ড ডেটা সরবরাহ করে।

আমরা আপনাকে লেভেল আপ করার পদ্ধতিও শেখাবো। উদাহরণস্বরূপ, আমরা দেখাবো কিভাবে লোকাল পারফরম্যান্স টেস্টিং-এর মাধ্যমে লেভেল ৩-এ পৌঁছানো যায়।   Jetpack Macrobenchmark এবং নতুন UiAutomator 2.4 API ব্যবহার করে আপনার অ্যাপের পারফরম্যান্সের যেকোনো পরিবর্তন নির্ভুলভাবে পরিমাপ ও যাচাই করুন।

আমাদের বৃহস্পতিবারের ব্লগে আরও পড়ুন: [বৃহস্পতিবারের ব্লগের লিঙ্ক: আপনার পারফরম্যান্স যাত্রার জন্য লেভেলিং গাইড]

ডিবাগিং পারফরম্যান্স আপগ্রেড করা হয়েছে।

উন্নত অপ্টিমাইজেশনের অর্থ এই নয় যে ক্র্যাশ রিপোর্টগুলো পাঠযোগ্য হবে না। নতুন ফিচারগুলো আপনাকে আত্মবিশ্বাসের সাথে R8 এবং ব্যাকগ্রাউন্ডের কাজ ডিবাগ করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে:

স্বয়ংক্রিয় লগক্যাট রিট্রেস

অ্যান্ড্রয়েড স্টুডিও নারওয়াল থেকে শুরু করে, লগক্যাট উইন্ডোতে স্ট্যাক ট্রেসগুলো স্বয়ংক্রিয়ভাবে ডি-অবফাসকেটেড করা যায়। এর ফলে, প্রোডাকশন-রেডি বিল্ডে আপনি যেকোনো ক্র্যাশ তাৎক্ষণিকভাবে দেখতে ও ডিবাগ করতে পারবেন।

সংকীর্ণ দুর্গের নিয়মাবলী

মঙ্গলবারে আমরা রানটাইম ক্র্যাশ ঠিক করার জন্য প্রয়োজনীয় Keep Rules-এর রহস্য উন্মোচন করেছি, যেখানে অতি-বিস্তৃত ওয়াইল্ডকার্ডের পরিবর্তে সুনির্দিষ্ট, মেম্বার-লেভেল নিয়ম লেখার উপর জোর দেওয়া হয়েছে। আর যেহেতু এটি একটি গুরুত্বপূর্ণ বিষয়, তাই আমরা আপনাদের জন্য একটি ভিডিওও তৈরি করেছি।

এবং ওয়াইড কিপ রুলস-এর জন্য নতুন লিন্ট চেকের মাধ্যমে, অ্যান্ড্রয়েড স্টুডিও অটার ৩ ফিচার ড্রপ এই ক্ষেত্রেও আপনার প্রয়োজন মেটাবে।

ছবি.png

আপনার R8 কনফিগারেশনটি আত্মবিশ্বাসের সাথে সঠিকভাবে সেট করতে সাহায্য করার জন্য, আমরা এটি পরীক্ষাসমস্যা সমাধানের বিষয়ে নতুন নির্দেশিকাও প্রকাশ করেছি।

আমাদের মঙ্গলবারের ব্লগে আরও পড়ুন: R8 Keep Rules কনফিগার ও ট্রাবলশুট করুন

পটভূমির কাজ

WorkManager ব্যবহার করে টাস্ক শিডিউল করার সময় আপনি যে সাধারণ পরিস্থিতিগুলোর সম্মুখীন হতে পারেন, সেগুলো ডিবাগ করার বিষয়ে আমরা নির্দেশনা শেয়ার করেছি।

Background Task Inspector gives you a visual representation and graph view of WorkManager tasks, helping debug why scheduled work is delayed or failed. And our refreshed Background Work documentation landing page highlights task-specific APIs that are optimized for particular use cases, helping you achieve more reliable execution.

আমাদের বুধবারের ব্লগে আরও পড়ুন: পটভূমিগত কর্মক্ষমতা বিবেচ্য বিষয়সমূহ

পারফরম্যান্স অপ্টিমাইজেশন একটি চলমান যাত্রা।

আপনি যদি এই সপ্তাহে আমাদের চ্যালেঞ্জটি সফলভাবে গ্রহণ করে R8 ফুল মোড চালু করে থাকেন, তাহলে আপনার পরবর্তী পদক্ষেপ হলো অ্যাপ পারফরম্যান্স স্কোর ব্যবহার করে আপনার প্রোডাক্ট রোডম্যাপে পারফরম্যান্সকে অন্তর্ভুক্ত করা। এই প্রমিত কাঠামোটি আপনাকে ধারাবাহিক উন্নতির জন্য সর্বাধিক কার্যকরী পদক্ষেপগুলো খুঁজে পেতে সহায়তা করে।

আমরা #AskAndroid লাইভ প্রশ্নোত্তর পর্বের মাধ্যমে সপ্তাহটি শেষ করেছি, যেখানে ইঞ্জিনিয়াররা R8, প্রোফাইল গাইডেড অপটিমাইজেশন এবং আরও অনেক বিষয়ে আপনাদের কঠিনতম প্রশ্নগুলোর উত্তর দিয়েছেন। যদি এটি মিস করে থাকেন, তবে রিপ্লেটি খুঁজে নিন!

আমাদের সাথে যোগ দেওয়ার জন্য ধন্যবাদ! এবার, কাজ শুরু করুন এবং এই গতি ধরে রাখুন।

    লিখেছেন:
    পড়তে থাকুন