ระบุเหตุการณ์ที่กำหนดเอง

การติดตามระบบจะแสดงข้อมูลเกี่ยวกับกระบวนการในระดับระบบเท่านั้น บางครั้งจึงยากที่จะรู้ว่าวิธีการของแอปหรือเกมใด ขณะดําเนินการในช่วงเวลาหนึ่งๆ ที่เกี่ยวข้องกับเหตุการณ์ของระบบ

Jetpack มี API การติดตามที่คุณสามารถใช้เพื่อติดป้ายกำกับให้กับบางส่วนของ โค้ด จากนั้นระบบจะรายงานข้อมูลนี้เป็นร่องรอยที่บันทึกไว้ในอุปกรณ์ การเปรียบเทียบมาโคร จะบันทึกการติดตามด้วยจุดการติดตามที่กำหนดเองโดยอัตโนมัติ

เมื่อใช้เครื่องมือบรรทัดคำสั่ง systrace เพื่อจับภาพการติดตาม ตัวเลือก -a ต้องระบุ หากไม่มีตัวเลือกนี้ วิธีการของแอปจะไม่ปรากฏในระบบ รายงานการติดตาม

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

เราขอแนะนำให้ใช้ฟังก์ชันส่วนขยาย Kotlin แม้ในโค้ด Java เนื่องจาก สิ้นสุดการติดตามโดยอัตโนมัติเมื่อ lambda เสร็จสิ้น วิธีนี้จะช่วยลดความเสี่ยง การลืมที่จะสิ้นสุดการติดตาม

นอกจากนี้ คุณยังใช้ NDK API สําหรับเหตุการณ์การติดตามที่กําหนดเองได้ด้วย หากต้องการทราบข้อมูลเกี่ยวกับการใช้งาน API สำหรับโค้ดเนทีฟที่หัวข้อเหตุการณ์การติดตามที่กำหนดเองในโฆษณาเนทีฟ รหัส

ไม่มีคำแนะนำในขณะนี้

ลองบัญชี Google