Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Việc ghi lại các phương thức Java/Kotlin được gọi trong quá trình thực thi mã của ứng dụng cho phép bạn xem ngăn xếp lệnh gọi và mức sử dụng CPU tại một thời điểm nhất định, được lọc theo các phương thức Java/Kotlin. Dữ liệu này rất hữu ích để xác định những phần mã mất nhiều thời gian hoặc tiêu tốn nhiều tài nguyên hệ thống để thực thi. Nếu bạn muốn xem toàn bộ ngăn xếp lệnh gọi, bao gồm cả các khung lệnh gọi gốc, hãy sử dụng tác vụ lập hồ sơ mẫu ngăn xếp lệnh gọi.
Khi ghi lại các phương thức Java/Kotlin bằng trình phân tích tài nguyên Android Studio, bạn có thể chọn loại bản ghi:
Theo dõi: Thiết lập ứng dụng của bạn trong thời gian chạy để ghi lại dấu thời gian ở đầu và cuối của mỗi lệnh gọi phương thức. Dấu thời gian được thu thập và so sánh để tạo dữ liệu tìm dấu vết phương thức, bao gồm thông tin về thời gian. Bạn nên sử dụng tính năng theo dõi khi quan tâm đến các phương thức chính xác đang được gọi. Vì việc theo dõi là một quy trình chuyên sâu, nên nếu đang sử dụng lựa chọn này, tốt nhất bạn nên giữ bản ghi trong khoảng 5 giây trở xuống.
Lấy mẫu (phiên bản cũ): Thu thập ngăn xếp lệnh gọi của ứng dụng một cách thường xuyên trong quá trình thực thi mã dựa trên Java hoặc Kotlin của ứng dụng. Trình phân tích tài nguyên so sánh các tập dữ liệu đã thu thập để lấy thông tin thời gian và mức sử dụng tài nguyên về cách thực thi mã dựa trên Java hoặc Kotlin của ứng dụng. Bạn nên sử dụng phương thức lấy mẫu nếu quan tâm đến thời gian hơn là các phương thức chính xác đang được gọi.
Mức sử dụng CPU: Cho biết mức sử dụng CPU của ứng dụng dưới dạng phần trăm tổng công suất CPU có sẵn theo thời gian. Xin lưu ý rằng mức sử dụng CPU không chỉ bao gồm các phương thức Java/Kotlin mà còn bao gồm cả mã gốc. Bôi đen một phần của dòng thời gian để lọc thông tin chi tiết cho khoảng thời gian đó.
Tương tác: Hiển thị sự kiện tương tác của người dùng và sự kiện trong vòng đời ứng dụng trong suốt tiến trình.
Luồng: Cho biết các luồng mà ứng dụng của bạn chạy. Trong hầu hết trường hợp, trước tiên, bạn nên tập trung vào luồng trên cùng đại diện cho ứng dụng của mình.
Để xác định các phương thức hoặc ngăn xếp lệnh gọi chiếm nhiều thời gian nhất, hãy sử dụng biểu đồ biểu đồ dạng ngọn lửa hoặc biểu đồ từ trên xuống.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]