הביצועים של אפליקציה נחשבים ללא טובים אם היא מגיבה באיטיות, מציגה אנימציות קטועות, קופאת או צורכת יותר מדי חשמל. כדי לפתור בעיות בביצועים, צריך לבצע יצירת פרופיל של האפליקציה או לזהות אזורים שבהם האפליקציה משתמשת במשאבים כמו המעבד, הזיכרון, הגרפיקה או הסוללה של המכשיר באופן לא יעיל. בנושא הזה מתוארים הכלים והשיטות של 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, פועלים לפי השלבים הבאים:
- יוצרים הגדרת run/debug, אם עדיין אין לכם הגדרה כזו.
- בוחרים את גרסת 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 יתארך בהרבה, ויכול להיות שהתוכנה לא תגיב.