CPU প্রোফাইলার দিয়ে CPU কার্যকলাপ পরিদর্শন করুন

আপনার অ্যাপের CPU ব্যবহার অপ্টিমাইজ করার অনেক সুবিধা রয়েছে, যেমন একটি দ্রুত এবং মসৃণ ব্যবহারকারীর অভিজ্ঞতা প্রদান করা এবং ডিভাইসের ব্যাটারি লাইফ সংরক্ষণ করা।

আপনি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময় আপনার অ্যাপের CPU ব্যবহার এবং থ্রেড অ্যাক্টিভিটি রিয়েল টাইমে পরিদর্শন করতে CPU প্রোফাইলার ব্যবহার করতে পারেন, অথবা আপনি রেকর্ড করা পদ্ধতি ট্রেস, ফাংশন ট্রেস এবং সিস্টেম ট্রেসে বিশদ পরিদর্শন করতে পারেন।

CPU প্রোফাইলার যে বিস্তারিত তথ্য রেকর্ড করে এবং দেখায় তা নির্ধারণ করা হয় আপনি কোন রেকর্ডিং কনফিগারেশন বেছে নেবেন:

  • সিস্টেম ট্রেস: সূক্ষ্ম বিবরণ ক্যাপচার করে যা আপনাকে পরিদর্শন করতে দেয় কিভাবে আপনার অ্যাপ সিস্টেম রিসোর্সের সাথে ইন্টারঅ্যাক্ট করে।
  • পদ্ধতি এবং ফাংশন ট্রেস: আপনার অ্যাপ প্রক্রিয়ার প্রতিটি থ্রেডের জন্য, আপনি খুঁজে পেতে পারেন কোন পদ্ধতিগুলি (জাভা) বা ফাংশন (C/C++) নির্দিষ্ট সময়ের মধ্যে নির্বাহ করা হয়, এবং প্রতিটি পদ্ধতি বা ফাংশন এটি কার্যকর করার সময় CPU সংস্থানগুলি ব্যবহার করে। আপনি কলকারী এবং কলেদের সনাক্ত করতে পদ্ধতি এবং ফাংশন ট্রেস ব্যবহার করতে পারেন। একটি কলার হল একটি পদ্ধতি বা ফাংশন যা অন্য পদ্ধতি বা ফাংশনকে আহ্বান করে এবং একটি কলী হল একটি যা অন্য পদ্ধতি বা ফাংশন দ্বারা আহ্বান করা হয়। আপনি এই তথ্যটি ব্যবহার করতে পারেন কোন পদ্ধতি বা ফাংশনগুলি নির্দিষ্ট সংস্থান-ভারী কাজগুলিকে প্রায়শই আহ্বান করার জন্য দায়ী তা নির্ধারণ করতে এবং অপ্রয়োজনীয় কাজ এড়াতে আপনার অ্যাপের কোড অপ্টিমাইজ করতে পারেন৷

    রেকর্ডিং পদ্ধতি ট্রেস করার সময়, আপনি নমুনা বা যন্ত্রযুক্ত রেকর্ডিং চয়ন করতে পারেন। ফাংশন ট্রেস রেকর্ড করার সময়, আপনি শুধুমাত্র নমুনা রেকর্ডিং ব্যবহার করতে পারেন।

এই ট্রেস বিকল্পগুলির প্রতিটি ব্যবহার এবং চয়ন করার বিশদ বিবরণের জন্য, একটি রেকর্ডিং কনফিগারেশন চয়ন করুন দেখুন।

CPU প্রোফাইলার ওভারভিউ

CPU প্রোফাইলার খুলতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. দেখুন > টুল উইন্ডোজ > প্রোফাইলার নির্বাচন করুন বা প্রোফাইল ক্লিক করুন টুলবারে

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

  2. CPU প্রোফাইলার খুলতে CPU টাইমলাইনের যেকোনো জায়গায় ক্লিক করুন।

আপনি যখন CPU প্রোফাইলারটি খুলবেন, এটি অবিলম্বে আপনার অ্যাপের CPU ব্যবহার এবং থ্রেড কার্যকলাপ প্রদর্শন করা শুরু করে। আপনি চিত্র 1 অনুরূপ কিছু দেখতে হবে.

চিত্র 1. CPU প্রোফাইলারে টাইমলাইন।

চিত্র 1 এ নির্দেশিত হিসাবে, CPU প্রোফাইলারের ডিফল্ট ভিউতে নিম্নলিখিত টাইমলাইনগুলি অন্তর্ভুক্ত রয়েছে:

  1. ইভেন্ট টাইমলাইন: আপনার অ্যাপে ক্রিয়াকলাপগুলিকে দেখায় যখন তারা তাদের জীবনচক্রের বিভিন্ন অবস্থার মধ্য দিয়ে স্থানান্তরিত হয় এবং স্ক্রিন ঘূর্ণন ইভেন্ট সহ ডিভাইসের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশন নির্দেশ করে৷ Android 7.1 (API লেভেল 25) এবং তার নিচের ডিভাইসে ইভেন্ট টাইমলাইন সক্ষম করার তথ্যের জন্য, উন্নত প্রোফাইলিং সক্ষম করুন দেখুন।
  2. CPU টাইমলাইন: আপনার অ্যাপের রিয়েল-টাইম CPU ব্যবহার দেখায়—মোট উপলব্ধ CPU সময়ের শতাংশ হিসেবে—এবং আপনার অ্যাপ ব্যবহার করা মোট থ্রেডের সংখ্যা। টাইমলাইন অন্যান্য প্রসেসের (যেমন সিস্টেম প্রসেস বা অন্যান্য অ্যাপ) এর CPU ব্যবহারও দেখায়, তাই আপনি এটিকে আপনার অ্যাপের ব্যবহারের সাথে তুলনা করতে পারেন। আপনি টাইমলাইনের অনুভূমিক অক্ষ বরাবর আপনার মাউস সরানোর মাধ্যমে ঐতিহাসিক CPU ব্যবহার ডেটা পরিদর্শন করতে পারেন।
  3. থ্রেড অ্যাক্টিভিটি টাইমলাইন: আপনার অ্যাপ্লিকেশান প্রক্রিয়ার অন্তর্গত প্রতিটি থ্রেড তালিকাভুক্ত করে এবং নীচে তালিকাভুক্ত রং ব্যবহার করে একটি টাইমলাইনে এর কার্যকলাপ নির্দেশ করে৷ আপনি একটি ট্রেস রেকর্ড করার পরে, আপনি ট্রেস ফলকে এর ডেটা পরিদর্শন করতে এই টাইমলাইন থেকে একটি থ্রেড নির্বাচন করতে পারেন।
    • সবুজ: থ্রেড সক্রিয় বা CPU ব্যবহার করার জন্য প্রস্তুত। অর্থাৎ, এটি একটি চলমান বা রানযোগ্য অবস্থায় রয়েছে।
    • হলুদ: থ্রেডটি সক্রিয়, কিন্তু এটি কাজ শেষ করার আগে এটি একটি I/O অপারেশনের জন্য অপেক্ষা করছে (উদাহরণস্বরূপ, ডিস্ক বা নেটওয়ার্ক I/O)।
    • ধূসর: থ্রেড ঘুমোচ্ছে এবং কোন CPU সময় গ্রাস করছে না। এটি কখনও কখনও ঘটে যখন থ্রেডের এমন একটি সংস্থান অ্যাক্সেসের প্রয়োজন হয় যা এখনও উপলব্ধ নয়। হয় থ্রেডটি স্বেচ্ছায় ঘুমের মধ্যে যায়, অথবা প্রয়োজনীয় সংস্থান উপলব্ধ না হওয়া পর্যন্ত কার্নেল থ্রেডটিকে ঘুমাতে রাখে।

    CPU প্রোফাইলার সেই থ্রেডগুলির CPU ব্যবহারেরও রিপোর্ট করে যা Android Studio এবং Android প্ল্যাটফর্ম আপনার অ্যাপ প্রক্রিয়ায় যোগ করে—যেমন JDWP , Profile Saver , Studio:VMStats , Studio:Perfa , এবং Studio:Heartbeat (যদিও, সঠিক নামগুলি থ্রেড কার্যকলাপ সময়রেখা পরিবর্তিত হতে পারে)। অ্যান্ড্রয়েড স্টুডিও এই ডেটা রিপোর্ট করে যাতে আপনি শনাক্ত করতে পারেন কখন থ্রেড অ্যাক্টিভিটি এবং সিপিইউ ব্যবহার আসলে আপনার অ্যাপের কোডের কারণে হয়।