Kavramlar ve Jetpack Compose uygulaması
Sistem izleme, yalnızca sistem düzeyindeki işlemler hakkında bilgi gösterdiğinden, uygulamanızın veya oyununuzun hangi yöntemlerinin sistem etkinliklerine göre belirli bir zamanda yürütüldüğünü bilmek bazen zordur.
Jetpack, kodun belirli bir bölümünü etiketlemek için kullanabileceğiniz bir izleme API'si sağlar. Bu bilgiler daha sonra cihazda yakalanan izlerde raporlanır. Macrobenchmark izlemeleri özel izleme noktalarıyla otomatik olarak yakalar.
İzleri yakalamak için systrace komut satırı aracı kullanılırken -a seçeneği gereklidir. Bu seçenek olmadan uygulamanızın yöntemleri sistem izleme raporunda görünmez.
Kotlin
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]) } } }
Java
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); } ); } ); } }
Lambda tamamlandığında izlemeyi otomatik olarak sonlandırdığı için Java kodunda bile Kotlin uzantı işlevini kullanmanızı öneririz. Bu sayede izlemeyi sonlandırmayı unutma riski ortadan kalkar.
Özel izleme etkinlikleri için NDK API'si de kullanabilirsiniz. Bu API'yi yerel kodunuz için kullanma hakkında bilgi edinmek için Yerel kodda özel izleme etkinlikleri başlıklı makaleyi inceleyin.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Uygulama başlatma süresi
- Yavaş oluşturma