קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
הביצועים של אפליקציה נחשבים ללא טובים אם היא מגיבה באיטיות, מציגה אנימציות קטועות, קופאת או צורכת יותר מדי חשמל. כדי לפתור בעיות בביצועים, צריך לבצע יצירת פרופיל של האפליקציה או לזהות אזורים שבהם האפליקציה משתמשת במשאבים כמו המעבד, הזיכרון, הגרפיקה או הסוללה של המכשיר באופן לא יעיל. בנושא הזה מתוארים הכלים והשיטות של Android Studio לפתרון בעיות נפוצות בביצועים.
במאמר הפעלת הכלי לניתוחי פרופיל בנפרד מוסבר איך מפעילים את הכלי לניתוחי פרופיל בנפרד בלי להריץ את כל סביבת הפיתוח המשולבת של Android Studio (ב-Windows או ב-Linux בלבד).
הדרישות
כדי ליצור פרופיל של האפליקציה, מומלץ להשתמש בנתונים הבאים:
אפליקציה עם גרסת build של גרסה זמינה שהוגדרה בה הגדרת המניפסט profileable. היא נקראת גם אפליקציה שניתן ליצור לה פרופיל. כברירת מחדל, ההגדרה הזו מוגדרת לאפליקציות כ-true. כדי לבדוק או לשנות את ההגדרה הזו, פותחים את המניפסט או את הקובץ AndroidManifest.xml של האפליקציה ומחפשים בקטע <application> את הגדרת המניפסט profileable:
<profileable android:shell="true" />
מכשיר בדיקה וירטואלי או פיזי שבו פועלת רמת API 29 ואילך, ויש בו את Google Play.
Android Gradle Plugin מגרסה 7.3 ואילך.
אפליקציות שניתן ליצור פרופיל שלהן לעומת אפליקציות שניתן לנפות בהן באגים
אפליקציה שניתן ליצור לה פרופיל מאפשרת לבצע את רוב המשימות הנפוצות של יצירת פרופיל, אבל אם אתם צריכים לתעד הקצאות ב-Java או ב-Kotlin או לצלם גרסת dump של אשכול, כדאי להשתמש במקום זאת באפליקציה ניתנת לניפוי באגים. תהליך אפליקציה שניתן לניפוי באגים ומכשיר שפועל עם API ברמה 26 ואילך מאפשרים גם לראות את ציר הזמן אינטראקציה, שבו מוצגים אינטראקציות של משתמשים ואירועים במחזור החיים של האפליקציה, בתצוגות המשימות שמציגות אותו.
אפליקציה שניתנת לניפוי באגים מבוססת על גרסת ה-build של האפליקציה ב-debug ומאפשרת להשתמש בכלי פיתוח כמו הכלי לניפוי באגים. עם זאת, יש לה עלויות מסוימות על הביצועים. אפליקציה שאפשר ליצור לה פרופיל מבוססת על גרסת build מסוג release של האפליקציה, ומאפשרת לבצע קבוצת משנה של משימות נפוצות ליצירת פרופיל ללא העלויות הנוספות על הביצועים של build לניפוי באגים.
פיתוח והרצה של אפליקציה שניתן ליצור לה פרופיל
כדי ליצור אפליקציה שניתן ליצור לה פרופיל ולהריץ אותה ב-Android Studio, פועלים לפי השלבים הבאים:
בוחרים את גרסת build של הגרסה היציבה (Build > Select Build Variant).
לוחצים על פעולות נוספות
> יצירת פרופיל של 'app' עם תקורה נמוכה
או על יצירת פרופיל של 'app' עם נתונים מלאים
('app' הוא שם הגדרת ההרצה, כך שהוא עשוי להיות שונה אצלכם). כדי לבחור בין שתי האפשרויות, אפשר לעיין בקטע דרישות.
האפליקציה נפתחת במכשיר הבדיקה והחלונית Profiler נפתחת ב-Android Studio.
בוחרים תהליך מהרשימה בכרטיסייה Home בחלונית Profiler. ברוב המקרים, כדאי לבחור את התהליך העליון שמייצג את האפליקציה.
בוחרים משימה ליצירת פרופיל בקטע Tasks. מידע נוסף על המשימות זמין בדפים האחרים בקטע הזה. לא כל משימות הפרופיל זמינות לכל תהליך. אם אתם לא יודעים מאיפה להתחיל, תוכלו לקבל סקירה כללית של פעילות הביצועים על ידי בדיקת האפליקציה בזמן אמת.
בתפריט הנפתח Start profiler task from בוחרים אם להפעיל את המשימה של הכלי לניתוחי פרופיל בזמן ההפעלה או לצרף אותה לתהליך בזמן שהוא פועל. אם אתם מנסים לשפר את זמן ההפעלה של האפליקציה או לתעד תהליך שמתרחש במהלך ההפעלה, כדאי לכלול את ההפעלה. אחרת, תוכלו להתחיל ליצור פרופיל מהמצב הנוכחי של האפליקציה.
לוחצים על התחלת המשימה של הכלי למעקב ביצועים. המשימה תתחיל בכרטיסייה משלה.
מבצעים אינטראקציה עם האפליקציה כדי להפעיל פעילויות.
מפסיקים את ההקלטה (אם רלוונטי), ממתינים לניתוח שלה ומעיינים בתוצאות.
השוואה, ייצוא וייבוא של נתוני מעקב
כשמפסיקים משימה של יצירת פרופיל, היא נשמרת באופן אוטומטי בכרטיסייה Past Recordings בחלונית Profiler. אפשר להשתמש בהקלטות השמורות האלה כדי להשוות בין השימוש במשאבים בתרחישים שונים. ההקלטות נשמרות למשך הסשן הנוכחי ב-Android Studio. כדי לשמור אותן למשך זמן ארוך יותר, לוחצים על ייצוא ההקלטה.
לא ניתן לייצא את כל סוגי המעקב.
כדי לייבא מעקב, למשל מפעולה קודמת של Android Studio, לוחצים על ייבוא הקלטה בכרטיסייה הקלטות קודמות ובוחרים את קובץ המעקב. אפשר גם לייבא קובץ על ידי גרירה שלו לחלון העריכה של Android Studio.
עריכת הגדרות ההקלטה
כדי לערוך את ההגדרות של הקלטת המשימות של הכלי לניתוחי ביצועים, לוחצים על הגדרות הכלי לניתוחי ביצועים .
יש שתי הגדרות עיקריות שאפשר להחליף:
במשימות שכוללות דגימה, מרווח הדגימה מייצג את הזמן שחולף בין כל דגימה. ככל שהמרווח שצוין קצר יותר, כך תגיעו מהר יותר למגבלת גודל הקובץ של הנתונים שתתועדו.
מגבלת גודל הקובץ מייצגת את כמות הנתונים שניתן לכתוב במכשיר המחובר. כשמפסיק את ההקלטה, Android Studio מנתח את הנתונים האלה ומציג אותם בחלון הניתוח. אם תגדילו את המגבלה ותתעדו כמות גדולה של נתונים, זמן הניתוח של הקובץ ב-Android Studio יתארך בהרבה, ויכול להיות שהתוכנה לא תגיב.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-22 (שעון UTC).
[[["התוכן קל להבנה","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"]],["עדכון אחרון: 2024-11-22 (שעון UTC)."],[],[],null,["# Profile your app performance\n\nAn app has poor performance if it responds slowly, shows choppy animations,\nfreezes, or consumes too much power. Fixing performance problems involves\n*profiling* your app, or identifying areas in which your app makes inefficient\nuse of resources such as the CPU, memory, graphics, or the device\nbattery. This topic describes the Android Studio tools and techniques to use to\nfix common performance problems.\n\nTo learn how to run standalone profilers without running the entire Android\nStudio IDE (Windows or Linux only), see\n[Run the standalone profiler](/studio/profile/standalone-profiler).\n\nRequirements\n------------\n\nTo profile your app, we recommend having the following:\n\n- An app with a release build variant that has the `profileable` manifest\n configuration enabled, also known as a profileable app. By default, apps have\n this configuration set to true. To check or change this configuration open\n your app's manifest or `AndroidManifest.xml` file and look in the\n `\u003capplication\u003e` section for the\n [`profileable`](/guide/topics/manifest/profileable-element) manifest\n configuration:\n\n \u003cprofileable android:shell=\"true\" /\u003e\n\n | **Note:** Use a [debuggable](/studio/debug) app instead of a profileable app if you need to record Java/Kotlin allocations, capture a heap dump, or see the **Interaction** timeline in task views that provide it.\n- A virtual or physical test device that runs API level 29 or higher and has\n Google Play.\n\n- Android Gradle Plugin 7.3 or higher.\n\n### Profileable v. debuggable apps\n\nA profileable app lets you do most common profiling tasks, but you should use a\n[debuggable](/studio/debug) app instead if you need to record Java/Kotlin\nallocations or capture a heap dump. A debuggable app process and device running\nAPI level 26 or higher also lets you see the **Interaction** timeline, which\nshows user interaction and app lifecycle events, in task views that provide it.\n\nA debuggable app is based on the `debug` build variant of your app and lets you\nuse development tools such as the [debugger](/studio/debug); however, it comes\nwith some performance costs. A profileable app is based on the `release` build\nvariant of your app and enables a subset of common profiling tasks without the\nperformance overhead of the debug build.\n| **Note:** In Android Studio, click **Profile 'app' with low overhead** to use a profileable app and click **Profile 'app' with complete data** to use a debuggable app.\n\nBuild and run a profileable app\n-------------------------------\n\nTo build and run a profileable app in Android Studio, follow these steps:\n\n1. [Create a run/debug configuration](/studio/run/rundebugconfig) if you don't already have one.\n2. Select your release build variant (**Build \\\u003e Select Build Variant**).\n3. Click **More actions\n \\\u003e Profile 'app' with low overhead** or **Profile 'app' with complete data** (\"app\" is the name of the run configuration, so it might be different for you). To choose between the two options, see [Requirements](#requirements). The app opens on your test device and the **Profiler** pane opens in Android Studio.\n\nIf these instructions don't work for you, see [Build and run a profileable app\nmanually](/studio/profile/build-run-manually).\n\nStart profiling\n---------------\n\nTo start a profiling task, follow these steps:\n\n1. Select a process from the list in the **Home** tab within the **Profiler**\n pane. In most cases, you'll want to select the top process that represents\n your app.\n\n2. Select a profiling task from the **Tasks** section. For more info about the\n tasks, see the other pages in this section. Not all profiling tasks are\n available for every process. If you don't know where to start, get an overall\n view of performance activity by\n [inspecting your app live](/studio/profile/inspect-app-live).\n\n3. Use the **Start profiler task from** drop-down to select whether to start the\n profiler task from startup or attach to the process as it's running. If you're\n trying to improve your app startup time or capture a process that happens\n during app startup, you should include startup; otherwise, you can start\n profiling at your app's current state.\n\n4. Click **Start profiler task**. The task starts in its own tab.\n\n5. Interact with your app so activities are triggered.\n\n6. Stop the recording (if applicable), wait for it to parse, and see the\n results.\n\nCompare, export, and import traces\n----------------------------------\n\nWhen you stop a profiling task, it's automatically saved in the **Past\nRecordings** tab within the **Profiler** pane. You can use these saved\nrecordings to compare resource usage in different scenarios. The recordings are\nsaved for the duration of the current Android Studio session; if you want to\nkeep them for longer, export them by clicking **Export recording**\n.\nNot all trace types can be exported.\n\nTo import a trace, for example from a previous run of Android Studio, click\n**Import recording**\n\nin the **Past Recordings** tab and select your trace file. You can also import a\nfile by dragging it into the Android Studio editor window.\n\nEdit the recording configuration\n--------------------------------\n\nTo edit your profiler task recording configuration, click the profiler settings\n.\nThere are two main settings you can toggle:\n\n- For tasks that involve sampling, the **Sample interval** represents the time between each sample. The shorter the interval you specify, the faster you reach the file size limit for the recorded data.\n- The **File size limit** represents the amount of data that can be written to the connected device. When you stop recording, Android Studio parses this data and displays it in the profiler window. If you increase the limit and record a large amount of data, Android Studio takes much longer to parse the file and might become unresponsive.\n\n| **Note:** If you use a connected device running Android 8.0 (API level 26) or higher, there isn't a limit on the file size of the trace data, and the **File\n| size limit** value is ignored. However, you still need to be careful about how much data the device collects after each recording because large trace files are difficult to parse. For example, if you're recording either a sampled trace with a short sampling interval or an instrumented trace while your app calls many methods in a short time, you'll generate large trace files quickly."]]