সঠিকভাবে আবর্জনা সংগ্রহ করা হচ্ছে না এমন বস্তুগুলি খুঁজে পেতে বরাদ্দ টাইমলাইন টুল ব্যবহার করুন এবং মেমরি ধরে রাখা চালিয়ে যান।
টুল কিভাবে কাজ করে
একটি অ্যালোকেশন টাইমলাইন রিপোর্ট টাইমলাইন প্যানেলের ক্রমবর্ধমান আপডেট এবং ট্র্যাকিংয়ের সাথে হিপ প্রোফাইলারের বিশদ স্ন্যাপশট তথ্যকে একত্রিত করে। এই সরঞ্জামগুলির অনুরূপ, ট্র্যাকিং হিপ বরাদ্দের মধ্যে একটি রেকর্ডিং শুরু করা, ক্রিয়াগুলির একটি ক্রম সম্পাদন করা, তারপর বিশ্লেষণের জন্য রেকর্ডিং বন্ধ করা জড়িত।
টুলটি রেকর্ডিং জুড়ে পর্যায়ক্রমে হিপ স্ন্যাপশট নেয় (যত ঘন ঘন প্রতি 50 মিসে!) এবং রেকর্ডিং শেষে একটি চূড়ান্ত স্ন্যাপশট।
একটি বরাদ্দ টাইমলাইন রিপোর্ট রেকর্ড করুন
বরাদ্দ টাইমলাইন টুল ব্যবহার শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- DevTools-এ মেমরি প্যানেল খুলুন।
- টাইমলাইন প্রোফাইলে বরাদ্দ সক্রিয় করুন।
- রেকর্ডিং শুরু করতে স্টার্ট বোতাম টিপুন।
একটি গাদা বরাদ্দ প্রোফাইল পড়ুন
হিপ অ্যালোকেশন প্রোফাইল দেখায় কোথায় বস্তু তৈরি করা হচ্ছে এবং ধরে রাখার পথ চিহ্নিত করে। নিম্নলিখিত স্ন্যাপশটে, উপরের দিকের বারগুলি নির্দেশ করে যখন নতুন বস্তুগুলি স্তূপে পাওয়া যায়৷
প্রতিটি বারের উচ্চতা সম্প্রতি বরাদ্দ করা বস্তুর আকারের সাথে মিলে যায় এবং বারগুলির রঙ নির্দেশ করে যে সেই বস্তুগুলি এখনও চূড়ান্ত হিপ স্ন্যাপশটে লাইভ আছে কিনা। নীল বারগুলি এমন বস্তুগুলিকে নির্দেশ করে যেগুলি টাইমলাইনের শেষে এখনও লাইভ রয়েছে, ধূসর বারগুলি সেই বস্তুগুলিকে নির্দেশ করে যা টাইমলাইনের সময় বরাদ্দ করা হয়েছিল, কিন্তু তারপর থেকে আবর্জনা সংগ্রহ করা হয়েছে:
আপনি শুধুমাত্র নির্দিষ্ট সময়সীমার সময় বরাদ্দ করা বস্তুগুলি দেখাতে কনস্ট্রাক্টর ফলকটি ফিল্টার করতে জুম করতে পারেন। জুম ইন করতে, আপনি টাইমলাইনে ফোকাস করতে চান এমন সময়সীমা জুড়ে আপনার মাউস টেনে আনুন।
কনস্ট্রাক্টর প্যানে একটি নির্দিষ্ট কনস্ট্রাক্টরের উপর ক্লিক করলে রিটেনার্স প্যানে এর রিটেনিং ট্রি দেখাবে। অবজেক্টের রিটেনিং পাথ পরীক্ষা করলে অবজেক্টটি কেন সংগ্রহ করা হয়নি তা বোঝার জন্য আপনাকে যথেষ্ট তথ্য দিতে হবে এবং আপনি অপ্রয়োজনীয় রেফারেন্স মুছে ফেলার জন্য প্রয়োজনীয় কোড পরিবর্তন করতে পারেন।
ফাংশন দ্বারা মেমরি বরাদ্দ দেখুন
আপনি JavaScript ফাংশন দ্বারা মেমরি বরাদ্দ দেখতে পারেন। আরও তথ্যের জন্য ফাংশন দ্বারা মেমরি বরাদ্দ তদন্ত দেখুন।
,সঠিকভাবে আবর্জনা সংগ্রহ করা হচ্ছে না এমন বস্তুগুলি খুঁজে পেতে বরাদ্দকরণ টাইমলাইন টুল ব্যবহার করুন এবং মেমরি ধরে রাখা চালিয়ে যান।
টুল কিভাবে কাজ করে
একটি অ্যালোকেশন টাইমলাইন রিপোর্ট টাইমলাইন প্যানেলের ক্রমবর্ধমান আপডেট এবং ট্র্যাকিংয়ের সাথে হিপ প্রোফাইলারের বিশদ স্ন্যাপশট তথ্যকে একত্রিত করে। এই সরঞ্জামগুলির অনুরূপ, ট্র্যাকিং হিপ বরাদ্দের মধ্যে একটি রেকর্ডিং শুরু করা, ক্রিয়াগুলির একটি ক্রম সম্পাদন করা, তারপর বিশ্লেষণের জন্য রেকর্ডিং বন্ধ করা জড়িত।
টুলটি রেকর্ডিং জুড়ে পর্যায়ক্রমে হিপ স্ন্যাপশট নেয় (যত ঘন ঘন প্রতি 50 মিসে!) এবং রেকর্ডিং শেষে একটি চূড়ান্ত স্ন্যাপশট।
একটি বরাদ্দ টাইমলাইন রিপোর্ট রেকর্ড করুন
বরাদ্দ টাইমলাইন টুল ব্যবহার শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- DevTools-এ মেমরি প্যানেল খুলুন।
- টাইমলাইন প্রোফাইলে বরাদ্দ সক্রিয় করুন।
- রেকর্ডিং শুরু করতে স্টার্ট বোতাম টিপুন।
একটি গাদা বরাদ্দ প্রোফাইল পড়ুন
হিপ অ্যালোকেশন প্রোফাইল দেখায় কোথায় বস্তু তৈরি করা হচ্ছে এবং ধরে রাখার পথ চিহ্নিত করে। নিম্নলিখিত স্ন্যাপশটে, উপরের দিকের বারগুলি নির্দেশ করে যখন নতুন বস্তুগুলি স্তূপে পাওয়া যায়৷
প্রতিটি বারের উচ্চতা সম্প্রতি বরাদ্দ করা বস্তুর আকারের সাথে মিলে যায় এবং বারগুলির রঙ নির্দেশ করে যে সেই বস্তুগুলি এখনও চূড়ান্ত হিপ স্ন্যাপশটে লাইভ আছে কিনা। নীল বারগুলি এমন বস্তুগুলিকে নির্দেশ করে যেগুলি টাইমলাইনের শেষে এখনও লাইভ রয়েছে, ধূসর বারগুলি সেই বস্তুগুলিকে নির্দেশ করে যা টাইমলাইনের সময় বরাদ্দ করা হয়েছিল, কিন্তু তারপর থেকে আবর্জনা সংগ্রহ করা হয়েছে:
আপনি শুধুমাত্র নির্দিষ্ট সময়সীমার সময় বরাদ্দ করা বস্তুগুলি দেখাতে কনস্ট্রাক্টর ফলকটি ফিল্টার করতে জুম করতে পারেন। জুম ইন করতে, আপনি টাইমলাইনে ফোকাস করতে চান এমন সময়সীমা জুড়ে আপনার মাউস টেনে আনুন।
কনস্ট্রাক্টর প্যানে একটি নির্দিষ্ট কনস্ট্রাক্টরের উপর ক্লিক করলে রিটেনার্স প্যানে এর রিটেনিং ট্রি দেখাবে। অবজেক্টের রিটেনিং পাথ পরীক্ষা করলে অবজেক্টটি কেন সংগ্রহ করা হয়নি তা বোঝার জন্য আপনাকে যথেষ্ট তথ্য দিতে হবে এবং আপনি অপ্রয়োজনীয় রেফারেন্স মুছে ফেলার জন্য প্রয়োজনীয় কোড পরিবর্তন করতে পারেন।
ফাংশন দ্বারা মেমরি বরাদ্দ দেখুন
আপনি JavaScript ফাংশন দ্বারা মেমরি বরাদ্দ দেখতে পারেন। আরও তথ্যের জন্য ফাংশন দ্বারা মেমরি বরাদ্দ তদন্ত দেখুন।