با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
ضبط متدهای جاوا/کوتلین که در طول اجرای کد برنامه شما فراخوانی میشوند، به شما امکان میدهد تا پشته تماس و استفاده از CPU را در یک زمان معین، فیلتر شده به روشهای جاوا/کاتلین ببینید. این دادهها برای شناسایی بخشهایی از کد که اجرای آنها به زمان طولانی یا منابع سیستم زیادی نیاز دارد، مفید است. اگر میخواهید یک نمای کامل از پشته تماس از جمله فریمهای تماس بومی را داشته باشید، از کار نمونهای پروفایل callstack استفاده کنید.
وقتی روشهای جاوا/کاتلین را با استفاده از نمایهساز Android Studio ضبط میکنید، میتوانید نوع ضبط را انتخاب کنید:
ردیابی: برنامه شما را در زمان اجرا ابزار می کند تا در ابتدا و انتهای هر فراخوانی، یک مهر زمانی ثبت کند. مهرهای زمانی جمعآوری شده و برای تولید دادههای ردیابی روش، از جمله اطلاعات زمانبندی، مقایسه میشوند. زمانی که به روش های دقیق فراخوانی اهمیت می دهید، باید از ردیابی استفاده کنید. از آنجا که ردیابی فرآیند فشرده ای است، اگر از این گزینه استفاده می کنید، بهتر است ضبط خود را حدود پنج ثانیه یا کمتر نگه دارید.
نمونه برداری (میراث): پشته تماس برنامه شما را در فواصل زمانی مکرر در طول اجرای کد مبتنی بر جاوا یا کاتلین برنامه شما ضبط می کند. نمایهساز مجموعهای از دادههای گرفته شده را با هم مقایسه میکند تا اطلاعات زمانبندی و استفاده از منابع را در مورد اجرای کد مبتنی بر جاوا یا کاتلین برنامه شما بدست آورد. اگر به زمانبندی بیشتر از روشهای دقیقی که فراخوانی میشوند اهمیت میدهید، باید از نمونهگیری استفاده کنید.
استفاده از CPU : میزان استفاده از CPU از برنامه شما را به عنوان درصدی از کل ظرفیت CPU موجود بر حسب زمان نشان می دهد. توجه داشته باشید که استفاده از CPU نه تنها شامل متدهای جاوا/کاتلین، بلکه کدهای بومی نیز می شود. بخشی از جدول زمانی را برای فیلتر کردن جزئیات مربوط به آن دوره زمانی برجسته کنید.
تعاملات : تعامل کاربر و رویدادهای چرخه عمر برنامه را در یک جدول زمانی نشان می دهد.
Threads : رشته هایی را نشان می دهد که برنامه شما روی آنها اجرا می شود. در بیشتر موارد، ابتدا باید روی بالاترین رشته ای که برنامه شما را نشان می دهد تمرکز کنید.
برای شناسایی روشها یا پشتههای فراخوانی که بیشترین زمان را میبرند، از نمودار شعله یا نمودار بالا به پایین استفاده کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],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."]]