פרופיל הביצועים של האפליקציה

אפליקציה נחשבת כבעלת ביצועים נמוכים אם היא מגיבה לאט, מציגה אנימציות קטועות, קופא או צורך יותר מדי חשמל. תיקון בעיות ביצועים כרוך בזיהוי תחומים שהאפליקציה משתמשת בהם באופן לא יעיל במשאבים כמו המעבד (CPU), הזיכרון, הגרפיקה, הרשת או הסוללה של המכשיר.

כדי למצוא ולתקן את הבעיות האלה, יש להשתמש בכלים ובטכניקות של הפרופיילינג וההשוואה לשוק שמתוארים בנושא הזה. כדי ללמוד טכניקות למדידת ביצועים ודוגמאות לשימושים האלה שיטות לפתרון בעיות ספציפיות, ראו מדידה או של ביצועים.

ב-Android Studio יש כמה כלים ליצירת פרופילים שיעזרו לכם לאתר בעיות פוטנציאליות ולהמחיש אותן:

  • הכלי לבדיקת ביצועים של מעבד (CPU) עוזר לעקוב אחר בעיות בביצועים של זמן ריצה.
  • הכלי ליצירת פרופיל זיכרון עוזר לעקוב אחרי הקצאות הזיכרון.
  • הכלי לניתוח צריכת אנרגיה עוקב אחרי השימוש באנרגיה, שעשוי לתרום לצריכת הסוללה. להתרוקנות.

הכלים האלה תואמים ל-Android מגרסה 5.0 (רמת API 21) ואילך. מידע נוסף על הכלים, קראו את הדפים האחרים בקטע הזה של המדריך למשתמש.

ספריות ההשוואה לשוק של Jetpack מאפשרות לאפליקציה למדוד פעולות חשובות שונות:

  • Macrobenchmark: מדידת תרחישים חשובים בביצועים, כולל הפעלת האפליקציה ושרטוט מחדש שמופעל על ידי פעולות כמו אנימציות בממשק המשתמש או גלילה.
  • Microbenchmark: מדידת עלות המעבד (CPU) של פונקציות ספציפיות.

למידע נוסף על הספריות האלה, ניתן לעיין בהשוואה לשוק דף האפליקציה שלך.

אפליקציות שניתנות לפרופיל

Profileable הוא מניפסט התצורה שהושקה ב-Android Q. הוא יכול לציין של המכשיר יכול ליצור פרופיל לאפליקציה הזו באמצעות כלים כמו Android Studio, Simpleperf, פרפטו.

לפני profileable, רוב המפתחים יכלו ליצור רק פרופילים אפליקציות שניתנות לניפוי באגים ב-Android, דבר שהוסיף עלויות ביצועים משמעותיות בתור תופעת לוואי. עלויות הביצועים האלה עלולות לשלול את תוצאות הפרופיילינג, במיוחד אם היו קשורים לתזמון. טבלה 1 מסכמת את ההבדלים בין ניתנים לניפוי באגים לבין פרופילים שניתנים לניפוי באגים באפליקציות.

טבלה 1. סיכום של ההבדלים העיקריים בין אפליקציות שניתנות לניפוי באגים לאפליקציות שניתנות לפרופיל.
תכונה ניתן לניפוי באגים ניתן לפרופיל
הכלי לניתוח זיכרון מלאה

כן:

לא:

הכלי לניתוח ביצועי המעבד (CPU) מלאה

כן:

לא:

הכלי לניתוח רשת כן לא
הכלי לניתוח צריכת אנרגיה כן לא
הכלי לניתוח ביצועים של Google כן כן
מוניטור אירועים כן לא

השיטה Profileable הושקה כדי שמפתחים יוכלו לבחור אם לאפשר לאפליקציות שלהם לחשוף מידע לכלים ליצירת פרופילים, ובמקביל לצבור עלויות ביצועים מועטות מאוד. APK שאפשר לשנות את הפרופיל שלו הוא למעשה חבילת APK להפצה עם שורה <profileable android:shell="true"/> נוסף בקטע <application> של קובץ המניפסט.

יצירה והפעלה של אפליקציה שניתן ליצור בפרופיל באופן אוטומטי

אפשר להגדיר, ליצור ולהפעיל אפליקציה שניתנת לפרופיל בלחיצה אחת. לתכונה הזו נדרש מכשיר בדיקה וירטואלי או פיזי עם API ברמת 29 ומעלה ועם Google Play. כדי להשתמש לחץ על החץ לצד הסמל של אפליקציית הפרופיל ובוחרים בין שתי אפשרויות:

תפריט build בלחיצה אחת בפרופיל.
  • 'אפליקציה' בפרופיל עם תקורה נמוכה מתחילה המעבד (CPU) והזיכרון של פרופילי אנשים. בכלי לניתוח זיכרון, רק תיעוד הקצאות נייטיב מופעלת.

    יצירת פרופילים עם תקורה נמוכה.
  • 'אפליקציה' בפרופיל עם נתונים מלאים מפעיל את המעבד (CPU), הזיכרון כלים לזיהוי אנרגיה.

    יצירת פרופילים עם נתונים מלאים.

יצירה והפעלה של אפליקציה שניתנת לפרופיל באופן ידני

כדי לבנות אפליקציה שניתן ליצור פרופיל באופן ידני, קודם צריך לפתח אפליקציית הפצה לאחר מכן מעדכנים את קובץ המניפסט שלו, שהופך את אפליקציית ההפצה לאפליקציה שמאפשרת פרופיל. אחרי שמגדירים את האפליקציה שניתן ליצור ממנה פרופיל, מפעילים את כלי הפרופילים ובוחרים פרופיל כדי לנתח אותו.

פיתוח אפליקציית הפצה

כדי לפתח אפליקציית הפצה למטרות יצירת פרופילים, מבצעים את הפעולות הבאות:

  1. חותמים על האפליקציה באמצעות מפתח ניפוי הבאגים על ידי הוספת השורות הבאות ל קובץ build.gradle. אם כבר יש לכם גרסת build פעילה של גרסת build, תוכלו לבצע את הפעולות הבאות: מדלגים לשלב הבא.

            buildTypes {
              release {
                signingConfig signingConfigs.debug
              }
            }
          
  2. ב-Android Studio, בוחרים באפשרות Build > בוחרים באפשרות 'יצירת וריאנט...' ובוחרים את של הגרסה החדשה.

שינוי הגרסה לניתנת לפרופיל

  1. כדי להמיר את אפליקציית הגרסה שלמעלה לאפליקציה שאפשר ליצור פרופיל, פותחים את קובץ AndroidManifest.xml והוספת הפריטים הבאים בתוך <application>. פרטים נוספים זמינים במאמר בניית האפליקציה להפצה.

    <profileable android:shell="true"/>

  2. בהתאם לגרסת ה-SDK, ייתכן שיהיה עליך להוסיף את השורות הבאות קובץ build.gradle.

          aaptOptions {
            additionalParameters =["--warn-manifest-validation"]
          }
        

יצירת פרופיל של אפליקציה שניתן ליצור פרופיל

כדי ליצור פרופיל לאפליקציה שניתן ליצור פרופיל, מבצעים את הפעולות הבאות:

  1. מפעילים את האפליקציה באמולטור הפיתוח או במכשיר.

  2. ב-Android Studio, מפעילים את הכלי ליצירת פרופילים על ידי בחירה באפשרות הצגה > Windows בכלי > Profiler.

  3. לאחר הפעלת האפליקציה, לוחצים על לחצן פלוס ליצירת פרופיל בכלי ליצירת פרופיל כדי לראות את התפריט הנפתח. בוחרים את המכשיר שלכם ואז בוחרים רשומה של האפליקציה בתהליכים אחרים שניתן ליצור מהם פרופיל.

    תפריט הפרופיל המתאים
  4. צריך לצרף את כלי הפרופיל לאפליקציה. רק המעבד (CPU) ופרופיל הזיכרון זמינים. עם יכולות מוגבלות של Memory Profiler.

    תצוגת סשן שניתן לפרופיל
    תפריט הפרופיל המתאים
    תפריט הפרופיל המתאים

סשנים

ניתן לשמור נתוני Profiler בתור סשנים, שנשמרים עד לצאת מ-Android Studio. על ידי תיעוד מידע לגבי הפרופיילינג במספר סשנים המעבר ביניהם יאפשר לכם להשוות את השימוש במשאבים בתרחישים שונים.

  • כדי להתחיל סשן חדש, לוחצים על התחלת סשן חדש של פרופיילינג. הלחצן ובוחרים תהליך אפליקציה מהתפריט הנפתח שמופיע.
  • אחרי ש תיעוד מעקב או לצלם תמונת מצב של הזיכרון, מערכת Android Studio מוסיפה את הנתונים האלה (יחד עם רשת האפליקציה פעילות) כרשומה נפרדת לסשן הנוכחי.
  • כדי להפסיק את הוספת הנתונים לסשן הנוכחי, לוחצים על הפסקת הפעילות הנוכחית שיעור פרופיילינג .
  • כדי לייבא מעקב שיוצא מהפעלה קודמת של Android Studio, לוחצים על התחלת סשן חדש של כלי לניתוח ביצועים ובוחרים באפשרות טעינה מקובץ.

הפעלת תמיכה נוספת במכשירים ישנים (רמת API < 26)

כדי להציג נתוני פרופיילינג נוספים במכשיר עם Android מגרסה 7.1 ומטה, Android מערכת Studio חייבת להחדיר לוגיקת מעקב לאפליקציה שעברה הידור. הנתונים הנוספים האלה של הפרופיילינג כוללים הבאים:

  • ציר הזמן של האירוע בכל החלונות של כלי הפרופיל
  • מספר האובייקטים שהוקצו ב-Memory Profiler
  • אירועים של איסוף אשפה ב-Memory Profiler
  • פרטים לגבי כל הקבצים המועברים ב-Network Profiler

כדי להפעיל תמיכה נוספת במכשירים ישנים יותר, צריך לבצע את הפעולות הבאות:

  1. בוחרים באפשרות הפעלה > עורכים את ההגדרות האישיות.
  2. בחלונית הימנית, בוחרים את מודול האפליקציה.
  3. לוחצים על הכרטיסייה יצירת פרופילים ומסמנים את התיבה הפעלת תמיכה נוספת עבור מכשירים ישנים יותר (רמת API < 26).
  4. לבנות את האפליקציה ולהפעיל אותה שוב.

הפעלת תמיכה נוספת במכשירים ישנים יותר יוצרת את תהליך ה-build לאט יותר, לכן צריך להפעיל אותה רק כשרוצים להתחיל ליצור פרופיל באפליקציה.

הפעלה של כלי ניתוח נתונים עצמאיים

כלי הפרופיל הנפרדים של Android Studio מאפשרים לך ליצור פרופיל לאפליקציה בלי להפעיל את הגרסה המלאה של Android סביבת פיתוח משולבת (IDE) של Studio.

כדי להפעיל את כלי הפרופילים העצמאיים:

  1. צריך לוודא שהכלי ליצירת הפרופיל לא פועל כרגע ב-Android Studio.
  2. נכנסים לספריית ההתקנה ועוברים לספרייה bin:

    Windows/Linux: studio-installation-folder/bin

    macOS: אי אפשר להשתמש בכלי פרופיל עצמאים ב-macOS.

  3. בהתאם למערכת ההפעלה שלכם, מריצים את profiler.exe או את profiler.sh. מכשיר Android מסך הפתיחה של Studio יופיע. אחרי שמסך הפתיחה נעלם, נפתח חלון של כלי לפרופיל.