কর্মক্ষমতা পরীক্ষার জন্য আপনার পরিবেশ সেট আপ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
আপনি সম্ভাব্য বাধাগুলি শনাক্ত করতে পারেন এবং অল্প সময়ের মধ্যে ডিভাইসের কার্যকলাপ রেকর্ড করে এবং আপনার অ্যাপের স্টার্টআপ সময়ের ট্রেস সংগ্রহ করে সামগ্রিক অ্যাপের কার্যক্ষমতা উন্নত করতে পারেন। এই পৃষ্ঠাটি দেখায় কিভাবে কর্মক্ষমতা পরীক্ষার জন্য আপনার পরিবেশ সেট আপ করতে হয়।
ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি ব্যবহার করুন
ম্যাক্রোবেঞ্চমার্ক লাইব্রেরি বৃহত্তর ব্যবহারকারীর মিথস্ক্রিয়া পরিমাপ করে, যেমন স্টার্টআপ, UI এর সাথে ইন্টারঅ্যাকশন এবং অ্যানিমেশন। লাইব্রেরি আপনি পরীক্ষা করছেন কর্মক্ষমতা পরিবেশের উপর সরাসরি নিয়ন্ত্রণ প্রদান করে। এটি আপনাকে সরাসরি সুনির্দিষ্ট অ্যাপ শুরুর সময় পরিমাপ করতে আপনার অ্যাপকে কম্পাইল করা, শুরু করা এবং বন্ধ করা নিয়ন্ত্রণ করতে দেয়। এটি টেস্ট রানের মধ্যে গোলমাল এবং পার্থক্য কমাতেও কাজ করে।
সম্ভাব্য কর্মক্ষমতা সমস্যা সনাক্ত করতে মধ্য-পরিসরের ডিভাইসগুলি ব্যবহার করুন
আপনার পছন্দের প্রতিটি ডিভাইসের প্রকারের কার্যক্ষমতা পরীক্ষা করুন। দ্রুত কম্পোনেন্ট সহ হাই-এন্ড ডিভাইসগুলি আগের, ধীরগতির বা কম RAM ডিভাইসগুলিতে পারফরম্যান্স সমস্যাগুলি লুকিয়ে রাখতে পারে। লোয়ার-এন্ড ডিভাইসগুলি ডেটা লোড করতে বা কোড চালাতে বেশি সময় নিতে পারে, যার ফলে বাধাগুলি সনাক্ত করা সহজ হয়। লো-এন্ড ডিভাইসের জন্য পারফরম্যান্স অপ্টিমাইজ করা সাধারণত হাই-এন্ড ডিভাইসের জন্যও অপ্টিমাইজেশানের সুবিধা দেয়।
আওয়াজ কমান
- নেটওয়ার্ক: শক্তিশালী এবং স্থিতিশীল ইন্টারনেট ওয়াই-ফাই গতির সাথে আপনার অ্যাপ বা প্রক্রিয়া পরীক্ষা করুন। যদি অ্যাপ স্টার্টআপের সময় একটি নেটওয়ার্ক অনুরোধ অন্তর্ভুক্ত থাকে, তাহলে এটিকে এমন একটি স্থান হিসাবে নোট করুন যেখানে পরিবর্তনশীলতা ঘটতে পারে।
- RAM ব্যবহার: অ্যাপ স্টার্টআপ পারফরম্যান্স পরীক্ষা করার সময় আপনার ডিভাইসের পটভূমিতে অন্য কোনো অ্যাপ চলমান থাকবে না।
- ব্যাটারি: কোনো হার্ডওয়্যার-নির্দিষ্ট কম পাওয়ার পারফরম্যান্স থ্রটলিং এড়াতে আপনার ডিভাইস চার্জ করা হয়েছে তা নিশ্চিত করুন।
রিলিজ বিল্ড উপর পরীক্ষা
কর্মক্ষমতা পরীক্ষা করতে রিলিজ বিল্ড ব্যবহার করুন। ডিবাগ বিল্ডগুলি পারফরম্যান্স ডিবাগিংয়ের জন্য অনুপযুক্ত , কারণ তারা সংকলন অপ্টিমাইজেশান প্রদান করে না এবং কার্যক্ষমতাকে উল্লেখযোগ্যভাবে প্রভাবিত করে।
যাইহোক, ক্লাস এবং অপারেশনের নাম সনাক্ত করতে একটি অস্পষ্ট রিলিজ বিল্ড ব্যবহার করা ঠিক আছে। বিশেষত, আমরা প্রগার্ড ফাইলে -dontobfuscate
সহ মিনিফায় (R8) সক্ষম করার এবং অস্পষ্টতা নিষ্ক্রিয় করার পরামর্শ দিই। লেআউট, সম্পদ এবং সম্পদ শনাক্ত করা সহজ যদি বিল্ডটি অস্পষ্ট হয়।
নিশ্চিত করুন যে আপনি ম্যানিফেস্টে প্রোফাইলযোগ্য পতাকা অন্তর্ভুক্ত করেছেন যাতে আপনার কাস্টম ইভেন্টগুলি অ-ডিবাগযোগ্য বিল্ডগুলিতে দৃশ্যমান হয়৷ এই ফ্ল্যাগটি Android 10 (API লেভেল 29) এবং পরবর্তীতে উপলব্ধ।
আপনার অ্যাপ অপারেশনে কাস্টম ট্রেস যোগ করুন
আপনার অ্যাপের মধ্যে কাস্টম ট্রেস যোগ করুন যাতে অন্যান্য লাইব্রেরির তুলনায় আপনার অ্যাপ দ্বারা কী কী ক্রিয়াকলাপ সম্পাদিত হয় তা শনাক্ত করা সহজ হয়। এটি আপনাকে অ্যাপটি সর্বদা কী করছে সে সম্পর্কে আরও প্রসঙ্গ দিতে সহায়তা করে।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Set up your environment for performance testing\n\nYou can identify potential bottlenecks and improve overall app performance by\nrecording device activity over a short period of time and [collecting traces of\nyour app's startup period](/topic/performance/tracing). This page shows how to\nset up your environment for performance testing.\n\nUse the Macrobenchmark library\n------------------------------\n\nThe [Macrobenchmark\nlibrary](/topic/performance/benchmarking/macrobenchmark-overview) measures\nlarger end-user interactions, such as startup, interacting with the UI, and\nanimations. The library provides direct control over the performance environment\nyou're testing. It lets you control compiling, starting, and stopping your app\nto directly measure precise app startup time. It also works to minimize the\nnoise and differences between test runs.\n\nUse mid-range devices to identify potential performance issues\n--------------------------------------------------------------\n\nTest performance on each device type you care about. High-end devices with fast\ncomponents can hide performance problems on earlier, slower, or low RAM devices.\nLower-end devices can take longer to load data or run code, making it easier to\nidentify bottlenecks. Optimizing performance for low-end devices usually also\nbenefits optimization for high-end devices.\n\nReduce noise\n------------\n\n- Network: test your apps or processes with strong and stable internet Wi-Fi speeds. If the app startup time includes a network request, note this as a place where variability might occur.\n- RAM usage: don't have any other apps running in the background of your device while testing app startup performance.\n- Battery: ensure your device is charged to avoid any hardware-specific low power performance throttling.\n\nTest on release builds\n----------------------\n\nUse release builds to test performance. Debug builds are [unsuitable for\nperformance\ndebugging](/studio/profile/measuring-performance#apk-considerations), as they\ndon't provide compilation optimization and significantly impact performance.\n\nHowever, it's okay to use an unobfuscated release build to identify classes and\noperation names. Specifically, we recommend enabling [minify\n(R8)](/studio/build/shrink-code) and disabling obfuscation, with\n[`-dontobfuscate`](/studio/build/shrink-code#obfuscate) in the proguard file.\nIt's easier to identify layouts, assets, and resources if the build is\nunobfuscated.\n\nMake sure you include the\n[profileable](/guide/topics/manifest/profileable-element) flag in the manifest\nso that your custom events are visible in non-debuggable builds. This flag is\navailable on Android 10 (API level 29) and later.\n\nAdd custom traces to your app operations\n----------------------------------------\n\nAdd [custom traces](/topic/performance/tracing/custom-events) within your app to\nmake it easier to identify what operations are performed by your app compared to\nother libraries. This helps give you more context about what the app is doing at\nall times."]]