בממעקב המערכת מוצג מידע על תהליכים רק ברמת המערכת, כך שלפעמים קשה לדעת אילו מהשיטות של האפליקציה או המשחק שמתבצע בזמן נתון ביחס לאירועי מערכת.
Jetpack מספק API למעקב שאפשר להשתמש בו כדי להוסיף תווית לקטע מסוים המידע הזה מדווח לאחר מכן במעקבים שתועדו במכשיר. מאקרובנצ'מרק מתעד באופן אוטומטי מעקבים עם נקודות מעקב בהתאמה אישית.
כשמשתמשים בכלי שורת הפקודה 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);
}
);
}
);
}
}
מומלץ להשתמש בפונקציית התוסף Kotlin, גם בקוד Java, מסיים את המעקב באופן אוטומטי כשה-lambda מסיימת. הפעולה הזו מסירה את הסיכון לשכוח לסיים את המעקב.
אפשר גם להשתמש ב-NDK API כדי ליצור אירועי מעקב בהתאמה אישית. כדי ללמוד על השימוש ממשק API לקוד המקורי שלך, מידע נוסף מופיע בקטע אירועי מעקב מותאמים אישית בתוכן מקורי .
אין המלצות כרגע.
אפשר לנסות להיכנס לחשבון Google.