Android Studio כולל ממשק קצה גרפי של Simpleperf, שמתועד ב בדיקת הפעילות במעבד (CPU) באמצעות הכלי לניתוח ביצועי ה-CPU רוב המשתמשים מעדיפים להשתמש באפשרות הזו במקום להשתמש ישירות ב-Simpleperf.
אם אתם מעדיפים להשתמש בשורת הפקודה, Simpleperf הוא שורת פקודה רב-תכליתית כלי ליצירת פרופילים של המעבד (CPU) שכלול ב-NDK ל-Mac, ל-Linux ול-Windows.
לקבלת תיעוד מלא, מתחילים ב-README של Simpleperf.
טיפים ומתכונים פשוטים
אם רק התחלתם להשתמש ב-Simpleperf, הנה כמה פקודות שימושי במיוחד. לפקודות ולאפשרויות נוספות: דוגמה לפקודות ולאפשרויות פשוטות.
איך בודקים לאילו ספריות משותפות נדרש הכי הרבה זמן לפעול
אפשר להריץ את הפקודה הזו כדי לראות אילו קובצי .so
תופסים את אחוז הביצוע הגדול ביותר
זמן (על סמך מספר מחזורי המעבד (CPU). זו הפקודה הראשונה שכדאי להריץ כשמפעילים אותה
בפעילות שלכם עם ניתוח הביצועים.
$ simpleperf report --sort dso
איך למצוא את הפונקציות שנדרשות להן הכי הרבה זמן
אחרי שתזהו איזו ספרייה משותפת לוקחת את רוב זמן הביצוע, תוכלו להריץ את הפקודה הזו
כדי לראות את אחוז הזמן שהוקדש לביצוע הפונקציות של אותו קובץ .so
.
$ simpleperf report --dsos library.so --sort symbol
איך מוצאים את אחוז הזמן שהוקדש לשרשורים
את זמן הביצוע בקובץ .so
ניתן לפצל לכמה שרשורים. אפשר להריץ את הפקודה הזו כדי
לראות את אחוז הזמן שהוקדש בכל שרשור.
$ simpleperf report --sort tid,comm
מציאת אחוז הזמן שהוקדש למודולים של אובייקטים
אחרי שתמצאו את השרשורים שבהם נוצל רוב זמן הביצוע, תוכלו להשתמש בפקודה הזו כדי לבודד את המודולים של האובייקטים שנדרשים להם זמן הביצוע הארוך ביותר בשרשורים האלה.
$ simpleperf report --tids threadID --sort dso
הסבר על הקשר בין הפעלות של פונקציות
תרשים שיחות מספק ייצוג חזותי של דוח קריסות ש-Simpleperf מתעד במהלך פרופיילינג.
אפשר להשתמש בפקודה report -g
כדי להדפיס תרשים שיחה ולראות מה
פונקציות אחרות קוראים לפונקציות אחרות. אפשר להיעזר בזה כדי לקבוע אם פונקציה מסוימת איטית
עצמו, או אם הוא נובע מכך שאחת או יותר מהפונקציות שהוא מפעיל הן איטיות.
$ simpleperf report -g
אפשר גם להשתמש בסקריפט Python report.py -g
כדי להפעיל כלי אינטראקטיבי שמציג
למשימות ספציפיות. אפשר ללחוץ על כל פונקציה כדי לראות כמה זמן נוצל בתהליכי הצאצאים שלה.
אפליקציות ליצירת פרופילים שפותחו באמצעות Unity
אם יוצרים פרופיילינג לאפליקציה שנוצרה באמצעות Unity, צריך להקפיד לפתח את האפליקציה באמצעות ניפוי באגים באמצעות השלבים הבאים:
- פותחים את פרויקט Android ב-Unity Editor.
- בחלון Build Settings (הגדרות Build) של פלטפורמת Android, מוודאים שההגדרות האפשרות Development Build מסומנת.
- לוחצים על הגדרות נגן ומגדירים את המאפיין Stripping Level בתור מושבת.