Tab Top Down menampilkan daftar panggilan, yang jika digunakan untuk memperluas node metode atau fungsi akan menampilkan tujuan panggilannya. Gambar 2 menunjukkan grafik top down untuk call chart berikut. Setiap panah dalam grafik menunjuk dari pemanggil ke tujuan panggilan.
Gambar 1. Contoh call chart yang menggambarkan waktu mandiri, waktu turunan, dan total waktu untuk metode D.
Seperti yang ditunjukkan pada Gambar 2, memperluas node untuk metode A di tab Top Down akan menampilkan tujuan panggilannya, yaitu metode B dan D. Setelah itu, memperluas node untuk metode D akan menampilkan tujuan panggilannya, seperti metode B dan C. Mirip dengan tab Flame chart, pohon top down menggabungkan informasi rekaman aktivitas untuk metode identik yang memiliki stack panggilan yang sama. Artinya, tab Flame chart menyediakan representasi grafis dari tab Top Down.
Tab Top Down menyediakan informasi berikut ini untuk membantu mendeskripsikan waktu CPU yang dihabiskan bagi setiap panggilan (waktu juga direpresentasikan sebagai persentase total waktu thread dalam rentang yang dipilih):
- Self: waktu yang dihabiskan oleh panggilan metode atau fungsi untuk mengeksekusi kodenya sendiri, bukan milik tujuan panggilannya, seperti dalam Gambar 1 untuk metode D.
- Children: waktu yang dihabiskan oleh panggilan metode atau fungsi untuk mengeksekusi tujuan panggilannya, bukan kodenya sendiri, seperti dalam Gambar 1 untuk metode D.
- Total: jumlah waktu Self dan Children milik metode. Informasi ini menyatakan total waktu yang dihabiskan oleh aplikasi untuk mengeksekusi panggilan, seperti dalam Gambar 1 untuk metode D.

Gambar 2. Pohon Top Down.

Gambar 3. Pohon Bottom Up untuk metode C dari Gambar 5.
Tab Bottom Up menampilkan daftar panggilan, yang jika digunakan untuk memperluas node fungsi atau metode akan menampilkan pemanggilnya. Dengan menggunakan contoh rekaman aktivitas yang ditampilkan dalam Gambar 2, gambar 3 memberikan pohon bottom up untuk metode C. Membuka node untuk metode C di pohon bottom up akan menampilkan setiap pemanggil uniknya, yaitu metode B dan D. Perlu diketahui bahwa meskipun B memanggil C dua kali, B hanya akan muncul sekali saat memperluas node untuk metode C di pohon bottom up. Setelah itu, memperluas node untuk B akan menampilkan pemanggilnya, yaitu metode A dan D.
Tab Bottom Up berguna untuk mengurutkan metode atau fungsi berdasarkan yang paling banyak (atau paling sedikit) menghabiskan waktu CPU. Anda dapat memeriksa setiap node guna menentukan pemanggil mana yang menghabiskan paling banyak waktu CPU untuk memanggil metode atau fungsi tersebut. Dibandingkan pohon top down, informasi pengaturan waktu untuk setiap metode atau fungsi di pohon bottom up saling berhubungan dengan metode di bagian atas setiap pohon (node atas). Waktu CPU juga direpresentasikan sebagai persentase total waktu thread selama perekaman tersebut. Tabel berikut ini membantu menjelaskan cara menafsirkan informasi pengaturan waktu untuk node atas dan pemanggilnya (sub-node).
Self | Children | Total | |
---|---|---|---|
Metode atau fungsi di bagian atas pohon bottom up (node atas) | Menyatakan total waktu yang dihabiskan oleh metode atau fungsi untuk mengeksekusi kodenya sendiri, bukan kode tujuan panggilannya. Dibandingkan pohon top down, informasi pengaturan waktu ini menyatakan jumlah semua panggilan ke metode atau fungsi ini selama durasi perekaman. | Menyatakan total waktu yang dihabiskan oleh metode atau fungsi untuk mengeksekusi tujuan panggilannya, bukan kodenya sendiri. Dibandingkan pohon top down, informasi pengaturan waktu ini menyatakan jumlah semua panggilan ke tujuan panggilan metode atau fungsi ini selama durasi perekaman. | Jumlah waktu mandiri dan waktu turunan. |
Pemanggil (sub-node) | Menyatakan total waktu mandiri tujuan panggilan ketika dipanggil oleh pemanggil. Menggunakan pohon bottom up dalam Gambar 6 sebagai contoh, waktu mandiri untuk metode B akan sama dengan jumlah waktu mandiri untuk setiap eksekusi metode C ketika dipanggil oleh B. | Menyatakan total waktu turunan dari tujuan panggilan ketika dipanggil oleh pemanggil. Menggunakan pohon bottom up dalam Gambar 6 sebagai contoh, waktu turunan untuk metode B akan sama dengan jumlah waktu turunan untuk setiap eksekusi metode C ketika dipanggil oleh B. | Jumlah waktu mandiri dan waktu turunan. |
Catatan: Untuk perekaman tertentu, Android Studio akan berhenti mengumpulkan data baru ketika profiler mencapai batas ukuran file (namun, perekaman tidak akan dihentikan). Hal ini biasanya terjadi jauh lebih cepat saat melakukan perekaman aktivitas yang diinstrumentasi karena jenis rekaman aktivitas ini mengumpulkan lebih banyak data di waktu yang lebih singkat dibandingkan perekaman aktivitas dengan sampel. Jika Anda memperpanjang waktu pemeriksaan hingga periode perekaman yang terjadi setelah batas tercapai, data pengaturan waktu di panel rekaman aktivitas tidak akan berubah (karena tidak ada data baru yang tersedia). Selain itu, panel rekaman aktivitas akan menampilkan NaN untuk informasi pengaturan waktu jika Anda hanya memilih sebagian rekaman tanpa data yang tersedia.