ধারণা এবং জেটপ্যাক কম্পোজ বাস্তবায়ন
সিস্টেম ট্রেসিং আপনাকে শুধুমাত্র সিস্টেম স্তরের প্রসেসগুলো সম্পর্কে তথ্য দেখায়, তাই সিস্টেম ইভেন্টের সাপেক্ষে একটি নির্দিষ্ট সময়ে আপনার অ্যাপ বা গেমের কোন মেথডগুলো এক্সিকিউট হচ্ছে তা জানা মাঝে মাঝে কঠিন হয়ে পড়ে।
জেটপ্যাক একটি ট্রেসিং এপিআই প্রদান করে, যা ব্যবহার করে আপনি কোডের কোনো নির্দিষ্ট অংশকে লেবেল করতে পারেন। এই তথ্যটি পরবর্তীতে ডিভাইসে ক্যাপচার করা ট্রেস-এ রিপোর্ট করা হয়। ম্যাক্রোবেঞ্চমার্ক স্বয়ংক্রিয়ভাবে কাস্টম ট্রেস পয়েন্টসহ ট্রেস ক্যাপচার করে।
systrace কমান্ড লাইন টুল ব্যবহার করে ট্রেস ক্যাপচার করার সময়, -a অপশনটি আবশ্যক। এই অপশনটি ছাড়া, আপনার অ্যাপের মেথডগুলো সিস্টেম ট্রেস রিপোর্টে প্রদর্শিত হয় না।
কোটলিন
class MyAdapter : RecyclerView.Adapter<MyViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder { trace("MyAdapter.onCreateViewHolder") { MyViewHolder.newInstance(parent) } } override fun onBindViewHolder(holder: MyViewHolder, position: Int) { trace("MyAdapter.onBindViewHolder") { trace("MyAdapter.queryDatabase") val rowItem = queryDatabase(position) dataset.add(rowItem) } holder.bind(dataset[position]) } } }
জাভা
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return TraceKt.trace( "MyAdapter.onCreateViewHolder", () -> MyViewHolder.newInstance(parent) ); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { TraceKt.trace( "MyAdapter.onBindViewHolder", () -> { TraceKt.trace( "MyAdapter.queryDatabase", () -> { Item rowItem = queryDatabase(position); dataset.add(rowItem); } ); } ); } }
আমরা জাভা কোডেও কোটলিন এক্সটেনশন ফাংশন ব্যবহার করার পরামর্শ দিই, কারণ এটি ল্যাম্বডা সম্পন্ন হলে স্বয়ংক্রিয়ভাবে ট্রেসিং বন্ধ করে দেয়। এর ফলে ট্রেসিং বন্ধ করতে ভুলে যাওয়ার ঝুঁকি থাকে না।
আপনি কাস্টম ট্রেস ইভেন্টের জন্য একটি NDK API-ও ব্যবহার করতে পারেন। আপনার নেটিভ কোডে এই API-এর ব্যবহার সম্পর্কে জানতে, “নেটিভ কোডে কাস্টম ট্রেস ইভেন্ট” দেখুন।
{% হুবহু %}আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলেও লিঙ্কের লেখা প্রদর্শিত হয়।
- অ্যাপ চালুর সময়
- ধীর রেন্ডারিং