Özel etkinlikleri tanımlama

Sistem izleme, süreçlerle ilgili bilgileri yalnızca sistem düzeyinde gösterir. Bu nedenle bazen uygulama veya oyununuzun yöntemlerini bilmek zor olabiliyor. yürütülmesi gibi sistem etkinliklerine bağlıdır.

Jetpack, web sitenizin belirli bir bölümünü etiketlemek için kullanabileceğiniz bir izleme API'si girin. Bu bilgiler daha sonra cihazda yakalanan izlerde raporlanır. Makrobenchmark özel iz noktalarına sahip izleri otomatik olarak yakalar.

İzleri yakalamak için systrace komut satırı aracını kullanırken -a seçeneği gereklidir. Bu seçenek olmadan uygulamanızın yöntemleri bir sistemde görünmez iz raporunu seçin.

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);
                    }
                );
            }
        );
    }
}

Kotlin uzantı işlevini, JavaScript kodları da dahil olmak üzere, lambda tamamlandığında izleme otomatik olarak sonlandırılır. Bu, ortaya çıkabilecek riskleri izlemeyi sonlandırmayı unutmak anlamına gelir.

Özel izleme etkinlikleri için NDK API'si de kullanabilirsiniz. Bu Yerel kodunuz için API hakkında daha fazla bilgi için Yerel sürümde özel izleme etkinlikleri bölümüne bakın girin.

ziyaret edin.