আপনার অ্যাপ্লিকেশন কর্মক্ষমতা প্রোফাইল

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

সম্পূর্ণ অ্যান্ড্রয়েড স্টুডিও আইডিই (শুধুমাত্র উইন্ডোজ বা লিনাক্স) ছাড়াই কীভাবে স্বতন্ত্র প্রোফাইলার চালানো যায় তা শিখতে, স্বতন্ত্র প্রোফাইলার চালান দেখুন।

প্রয়োজনীয়তা

আপনার অ্যাপ প্রোফাইল করতে, আমরা নিম্নলিখিতগুলি থাকার পরামর্শ দিই:

  • একটি রিলিজ বিল্ড ভেরিয়েন্ট সহ একটি অ্যাপ যার profileable ম্যানিফেস্ট কনফিগারেশন সক্ষম করা আছে, এটি একটি প্রোফাইলেবল অ্যাপ নামেও পরিচিত৷ ডিফল্টরূপে, অ্যাপ্লিকেশানগুলিতে এই কনফিগারেশনটি সত্য হিসাবে সেট করা থাকে৷ এই কনফিগারেশন চেক করতে বা পরিবর্তন করতে আপনার অ্যাপের ম্যানিফেস্ট বা AndroidManifest.xml ফাইলটি খুলুন এবং profileable ম্যানিফেস্ট কনফিগারেশনের জন্য <application> বিভাগে দেখুন:

    <profileable android:shell="true" />
    
  • একটি ভার্চুয়াল বা শারীরিক পরীক্ষা ডিভাইস যা API লেভেল 29 বা উচ্চতর চালায় এবং Google Play আছে।

  • Android Gradle Plugin 7.3 বা উচ্চতর।

প্রোফাইলেবল বনাম ডিবাগেবল অ্যাপ

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

একটি ডিবাগযোগ্য অ্যাপ আপনার অ্যাপের debug বিল্ড ভেরিয়েন্টের উপর ভিত্তি করে তৈরি করা হয় এবং আপনাকে ডিবাগারের মতো ডেভেলপমেন্ট টুল ব্যবহার করতে দেয়; যাইহোক, এটি কিছু কর্মক্ষমতা খরচ সঙ্গে আসে. একটি প্রোফাইলযোগ্য অ্যাপ আপনার অ্যাপের release বিল্ড ভেরিয়েন্টের উপর ভিত্তি করে এবং ডিবাগ বিল্ডের পারফরম্যান্স ওভারহেড ছাড়াই সাধারণ প্রোফাইলিং কাজগুলির একটি উপসেট সক্ষম করে।

একটি প্রোফাইলযোগ্য অ্যাপ তৈরি করুন এবং চালান

অ্যান্ড্রয়েড স্টুডিওতে একটি প্রোফাইলযোগ্য অ্যাপ তৈরি করতে এবং চালাতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার যদি ইতিমধ্যে একটি না থাকে তবে একটি রান/ডিবাগ কনফিগারেশন তৈরি করুন
  2. আপনার রিলিজ বিল্ড ভেরিয়েন্ট নির্বাচন করুন ( বিল্ড > বিল্ড ভেরিয়েন্ট নির্বাচন করুন )।
  3. আরো কর্ম ক্লিক করুন > কম ওভারহেড সহ প্রোফাইল 'অ্যাপ'অথবা সম্পূর্ণ ডেটা সহ প্রোফাইল 'অ্যাপ' ("অ্যাপ" রান কনফিগারেশনের নাম, তাই এটি আপনার জন্য ভিন্ন হতে পারে)। দুটি বিকল্পের মধ্যে বেছে নিতে, প্রয়োজনীয়তা দেখুন। অ্যাপটি আপনার টেস্ট ডিভাইসে খোলে এবং প্রোফাইলার প্যান অ্যান্ড্রয়েড স্টুডিওতে খোলে।

যদি এই নির্দেশাবলী আপনার জন্য কাজ না করে, তাহলে ম্যানুয়ালি একটি প্রোফাইলযোগ্য অ্যাপ তৈরি করুন এবং চালান দেখুন।

প্রোফাইলিং শুরু করুন

একটি প্রোফাইলিং কাজ শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রোফাইলার প্যানের মধ্যে হোম ট্যাবে তালিকা থেকে একটি প্রক্রিয়া নির্বাচন করুন। বেশিরভাগ ক্ষেত্রে, আপনি আপনার অ্যাপের প্রতিনিধিত্ব করে এমন শীর্ষ প্রক্রিয়া নির্বাচন করতে চাইবেন।

    প্রোফাইলার হোম ট্যাব
  2. কার্য বিভাগ থেকে একটি প্রোফাইলিং টাস্ক নির্বাচন করুন। কাজগুলি সম্পর্কে আরও তথ্যের জন্য, এই বিভাগে অন্যান্য পৃষ্ঠাগুলি দেখুন৷ সমস্ত প্রোফাইলিং কাজ প্রতিটি প্রক্রিয়ার জন্য উপলব্ধ নয়। আপনি কোথা থেকে শুরু করবেন তা না জানলে, আপনার অ্যাপ লাইভ পরিদর্শন করে কর্মক্ষমতা কার্যকলাপের একটি সামগ্রিক দৃশ্য পান।

  3. স্টার্টআপ থেকে প্রোফাইলার টাস্কটি শুরু করতে বা এটি চলমান অবস্থায় সংযুক্ত করার জন্য ড্রপ-ডাউন থেকে স্টার্ট প্রোফাইলার টাস্কটি ব্যবহার করুন। আপনি যদি আপনার অ্যাপ স্টার্টআপের সময় উন্নত করার চেষ্টা করছেন বা অ্যাপ স্টার্টআপের সময় ঘটে এমন একটি প্রক্রিয়া ক্যাপচার করার চেষ্টা করছেন, তাহলে আপনার স্টার্টআপ অন্তর্ভুক্ত করা উচিত; অন্যথায়, আপনি আপনার অ্যাপের বর্তমান অবস্থায় প্রোফাইলিং শুরু করতে পারেন।

  4. প্রোফাইলার টাস্ক শুরু করুন ক্লিক করুন। কাজটি তার নিজস্ব ট্যাবে শুরু হয়।

  5. আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করুন যাতে ক্রিয়াকলাপগুলি ট্রিগার হয়৷

  6. রেকর্ডিং বন্ধ করুন (যদি প্রযোজ্য হয়), এটি পার্স করার জন্য অপেক্ষা করুন এবং ফলাফল দেখুন।

তুলনা, রপ্তানি, এবং আমদানি ট্রেস

যখন আপনি একটি প্রোফাইলিং টাস্ক বন্ধ করেন, এটি স্বয়ংক্রিয়ভাবে প্রোফাইলার ফলকের মধ্যে অতীত রেকর্ডিং ট্যাবে সংরক্ষিত হয়। আপনি বিভিন্ন পরিস্থিতিতে সম্পদ ব্যবহার তুলনা করতে এই সংরক্ষিত রেকর্ডিং ব্যবহার করতে পারেন. রেকর্ডিংগুলি বর্তমান অ্যান্ড্রয়েড স্টুডিও সেশনের সময়কালের জন্য সংরক্ষণ করা হয়; আপনি যদি সেগুলিকে আরও বেশি সময় ধরে রাখতে চান তবে এক্সপোর্ট রেকর্ডিং এ ক্লিক করে রপ্তানি করুন৷ . সব ট্রেস ধরনের রপ্তানি করা যাবে না.

একটি ট্রেস আমদানি করতে, উদাহরণস্বরূপ, Android স্টুডিওর পূর্ববর্তী রান থেকে, রেকর্ডিং আমদানিতে ক্লিক করুন৷ অতীত রেকর্ডিং ট্যাবে এবং আপনার ট্রেস ফাইল নির্বাচন করুন। আপনি অ্যান্ড্রয়েড স্টুডিও সম্পাদক উইন্ডোতে টেনে এনে একটি ফাইল আমদানি করতে পারেন।

রেকর্ডিং কনফিগারেশন সম্পাদনা করুন

আপনার প্রোফাইলার টাস্ক রেকর্ডিং কনফিগারেশন সম্পাদনা করতে, প্রোফাইলার সেটিংসে ক্লিক করুন . দুটি প্রধান সেটিংস রয়েছে যা আপনি টগল করতে পারেন:

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