קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
הקלטה של שיטות Java/Kotlin שנקראות במהלך ביצוע הקוד של האפליקציה מאפשרת לכם לראות את מחסנית הקריאות ואת השימוש במעבד בזמן נתון, כשהסינון מוגבל לשיטות Java/Kotlin. הנתונים האלה שימושיים לזיהוי קטעי קוד שנדרש להם זמן רב או הרבה משאבי מערכת כדי לפעול. אם רוצים לראות את כל ה-callstack, כולל מסגרות קריאה מקוריות, צריך להשתמש במשימת פרופיל callstack sample.
כשמפעילים הקלטה של שיטות Java/Kotlin באמצעות כלי הפרופיל של Android Studio, אפשר לבחור את סוג ההקלטה:
מעקב: כלי שמוסיף לאפליקציה קוד בזמן הריצה כדי להקליט חותמת זמן בתחילת כל קריאה למתודה ובסופה. חותמות זמן נאספות ומושווות כדי ליצור נתוני מעקב אחר שיטות, כולל מידע על תזמון. כדאי להשתמש במעקב כשחשוב לכם לדעת אילו שיטות בדיוק מופעלות. תהליך האיתור הוא תהליך מורכב, ולכן אם משתמשים באפשרות הזו, מומלץ להקליט סרטון באורך של חמש שניות או פחות.
דגימה (גרסה קודמת): מתעדת את מחסנית הקריאות של האפליקציה במרווחי זמן קבועים במהלך הביצוע של קוד האפליקציה שמבוסס על Java או על Kotlin. כלי הפרופיל משווה בין קבוצות של נתונים שנאספו כדי להפיק מידע על התזמון ועל השימוש במשאבים של ביצוע הקוד באפליקציה שמבוסס על Java או על Kotlin. כדאי להשתמש בדגימה אם חשוב לכם יותר התזמון מאשר השיטות המדויקות שמופעלות.
סקירה כללית של שיטות Java/Kotlin
אחרי שמריצים את המשימה Find CPU Hotspots, כלי הפרופיל של Android Studio מספק את המידע הבא:
CPU Usage (שימוש במעבד): מציג את השימוש במעבד של האפליקציה כאחוז מתוך סך הקיבולת הזמינה של המעבד לפי זמן. שימו לב ששימוש במעבד כולל לא רק שיטות Java/Kotlin, אלא גם קוד מקורי. מסמנים קטע בציר הזמן כדי לסנן את הפרטים לפי התקופה הזו.
אינטראקציות: בדוח הזה מוצגים אינטראקציות של משתמשים ואירועים במחזור החיים של האפליקציה בציר זמן.
Threads: מציג את ה-threads שהאפליקציה פועלת עליהם. ברוב המקרים, כדאי להתמקד קודם בשרשור העליון שמייצג את האפליקציה.
כדי לזהות את השיטות או את מחסניות הקריאות שדורשות הכי הרבה זמן, משתמשים בתרשים הלהבות או בתרשים מלמעלה למטה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[null,null,["עדכון אחרון: 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."]]