Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Rejestrowanie metod Java/Kotlin wywoływanych podczas wykonywania kodu aplikacji umożliwia wyświetlanie stosu wywołań i użycia procesora w danym momencie, z filtrowaniem do metod Java/Kotlin. Te dane są przydatne do identyfikowania fragmentów kodu, których wykonanie zajmuje dużo czasu lub wymaga wielu zasobów systemowych. Jeśli chcesz uzyskać pełny widok stosu wywołań, w tym natywnych ramek wywołań, użyj zadania profilowania próbkowania stosu wywołań.
Podczas nagrywania metod w językach Java lub Kotlin za pomocą profilera Androida Studio możesz wybrać typ nagrywania:
Śledzenie: instrumentuje aplikację w czasie działania, aby rejestrować sygnatury czasowe na początku i na końcu każdego wywołania metody. Sygnatury czasowe są zbierane i porównywane, aby generować dane śledzenia metod, w tym informacje o czasie. Śledzenia należy używać, gdy zależy Ci na dokładnych metodach, które są wywoływane. Śledzenie jest procesem wymagającym dużych zasobów, dlatego jeśli korzystasz z tej opcji, najlepiej, aby nagranie trwało około 5 sekund lub krócej.
Próbkowanie (starsza wersja): rejestruje stos wywołań aplikacji w częstych odstępach czasu podczas wykonywania kodu aplikacji opartego na Javie lub Kotlinie. Profiler porównuje zestawy przechwyconych danych, aby uzyskać informacje o czasie i wykorzystaniu zasobów podczas wykonywania kodu aplikacji opartego na Javie lub Kotlinie. Próbkowanie warto stosować, jeśli bardziej zależy Ci na czasie niż na dokładnych wywoływanych metodach.
Wykorzystanie procesora: pokazuje wykorzystanie procesora przez aplikację jako procent całkowitej dostępnej mocy obliczeniowej procesora w czasie. Pamiętaj, że wykorzystanie procesora obejmuje nie tylko metody Java/Kotlin, ale także kod natywny. Zaznacz fragment osi czasu, aby odfiltrować szczegóły z tego okresu.
Interakcje: pokazuje interakcje użytkowników i zdarzenia cyklu życia aplikacji na osi czasu.
Wątki: pokazuje wątki, w których działa Twoja aplikacja. W większości przypadków najpierw warto skupić się na wątku znajdującym się na samej górze, który reprezentuje Twoją aplikację.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Record Java/Kotlin methods\n\nRecording the Java/Kotlin methods called during your app's code execution lets\nyou see the callstack and CPU usage at a given time, filtered to Java/Kotlin\nmethods. This data is useful for identifying sections of code that take a long\ntime or a lot of system resources to execute. If you want a full view of the\ncallstack including native call frames, use the\n[callstack sample](/studio/profile/sample-callstack)\nprofiling task.\n\nWhen you record Java/Kotlin methods using the Android Studio profiler, you can\nchoose the recording type:\n\n- Tracing: Instruments your app at runtime to record a timestamp at the\n beginning and end of each method call. Timestamps are collected and compared\n to generate method tracing data, including timing information. You should use\n tracing when you care about the exact methods being called. Because tracing is\n an intensive process, if you're using this option it's best to keep your\n recording around five seconds or less.\n\n | **Note:** The timing information from tracing might deviate from production due to the overhead introduced by the instrumentation itself.\n- Sampling (legacy): Captures your app's call stack at frequent intervals during\n your app's Java- or Kotlin-based code execution. The profiler compares sets of\n captured data to derive timing and resource usage information about your app's\n Java- or Kotlin-based code execution. You should use sampling if you care more\n about timing than the exact methods being called.\n\n| **Note:** If you're interested in tracing methods with lifecycles so short that they're likely to begin and end in between a sampling interval, and thus get missed by the profiler, you should try tracing instead.\n\nJava/Kotlin methods overview\n----------------------------\n\nAfter you [run the **Find CPU Hotspots** task](/studio/profile#start-profiling)\nthe Android Studio Profiler provides the following information:\n\n- **CPU Usage**: Shows CPU usage of your app as a percentage of total available CPU capacity by time. Note that the CPU usage includes not only Java/Kotlin methods but also native code. Highlight a section of the timeline to filter to the details for that time period.\n- **Interactions**: Shows user interaction and app lifecycle events along a timeline.\n- **Threads**: Shows the threads that your app runs on. In most cases, you'll want to first focus on the topmost thread that represents your app.\n\nTo identify the methods or call stacks that take the most time, use the\n[flame chart](/studio/profile/chart-glossary/flame-chart) or\n[top down](/studio/profile/chart-glossary/top-bottom-charts) chart."]]