בדפים הבאים מוסבר איך לשפר את השימוש של האפליקציה בזיכרון.
הנחיות כלליות לגבי זיכרון
- סקירה כללית על זיכרונות
- הסבר על ארכיטקטורת הזיכרון הבסיסית של Android, על מגבלות ה-RAM ועל האופן שבו מערכת ההפעלה מאזנת בין תהליכים באמצעות Low Memory Killer (LMK).
- ניהול הזיכרון
- המאמר מפרט שיטות מומלצות למפתחים לשחרור משאבים במהלך מחזור החיים של רכיבים, למניעת דליפות ולניהול הזיכרון במהלך מעבר בין מצבי תהליך.
- הסבר על הזיכרון ב-Android ופתרון בעיות שקשורות אליו
- סקירה מקיפה של ארכיטקטורת הזיכרון ב-Android, הכלים שזמינים לניתוח ותרגילים מעשיים שיעזרו לכם לזהות ולפתור בעיות שקשורות לזיכרון.
- הגדרת תקציבי זיכרון לאפליקציות
- הסבר על הצהרה וניהול של תקציבי זיכרון באפליקציה כדי לצמצם את השימוש בזיכרון לסט העבודה הפעיל של האפליקציה.
אופטימיזציות ספציפיות לאזור
- סקירה כללית על זיכרון המשחקים
- פרטים על ניהול זיכרון, טיפול בהקצאה מקומית והנחיות לניהול נכסי גרפיקה שמותאמים במיוחד לאפליקציות שמשתמשות במנועי משחקים.
- אופטימיזציה של תמונות ביטמפ
- הסבר על שינוי גודל, פענוח ושמירה במטמון של נכסי מפת סיביות ביעילות בספריות תמונות.
- ניהול זיכרון WebView וניתוח שלו
- המאמר מסביר את מודל הזיכרון של WebView מרובה תהליכים, מתאר איך לנהל את מחזור החיים שלו בצורה נכונה כדי למנוע דליפות, ומספק תהליכי עבודה מעשיים לאבחון בעיות ��זיכרון.
- אופטימיזציה של קוד R8
- הסבר על שימוש ב-R8 כדי להקטין את גודל ה-APK, את התקורה של המטא-נתונים ואת צריכת הזיכרון בזמן הריצה.
כלים לניפוי באגים בזיכרון המקומי
- כלים של Android Studio
- מספק בדיקה של ה-heap בזמן אמת, מעקב אחר הקצאת הזיכרון ותהליכי עבודה לזיהוי דליפות ישירות בתוך ה-IDE.
- Perfetto Heap Dump Explorer
- מציע ניתוח ויזואלי מעמיק של קובצי dump של heap מקוריים ושל Java או Kotlin, כדי לבודד עצי אובייקטים שנשמרו והקצאות זיכרון אנונימיות.
- תיעוד עקבות המערכת במכשיר
- המאמר הזה מסביר איך להקליט עקבות ברמת המערכת במכשיר כדי לטפל בבאגים שקשורים לביצועים באפליקציה.
- ניפוי באגים בשימוש בזיכרון ב-Android
- הסבר על ניהול הזיכרון ב-Linux ועל שימוש בכלים כמו
dumpsys meminfo, Perfetto, פרופילים של ערימה מקומית ו-heap dumps כדי לעקוב אחרי השימוש בזיכרון ולזהות דליפות.
כלי זיכרון ברמת הייצור
- תפקוד האפליקציה ל-Android: שימוש בזיכרון (RSS אנונימי + שטח החלפה)
- ב-Android vitals אפשר לראות את השימוש בזיכרון של האפליקציה בייצור, עם פירוט לפי מצבי התהליך: פעולה בחזית, שירות שפועל בחזית ושירות שפועל ברקע.
- נתוני תפקוד האפליקציה: שימוש בזיכרון של מפת הסיביות (bitmap)
- בתכונה 'תפקוד האפליקציה' מוצגים מדדים לגבי הזיכרון שבשימוש של מפת הסיביות של האפליקציה, על ידי צבירת נתונים ממכשירי Android.
- תפקוד האפליקציה: אופטימיזציה של קוד DEX
- הנתונים של תפקוד האפליקציה יכולים להתריע אם רמות האופטימיזציה של קוד ה-DEX של האפליקציה נמוכות. האופטימיזציה הזו כוללת טשטוש, צמצום ואופטימיזציה של אפליקציות ומשחקים שמשתמשים ב-R8.
- Crashlytics 20.1.0
- הצגת חריגות של חוסר זיכרון (OOM) בסביבת הייצור וסגירות של מגביל הזיכרון עם הקשר אבחוני כדי לתעדף ולתקן קריסות בשדה.
- ProfilingManager
- API מתקדם שמאפשר לאפליקציות לאסוף ולהעלות באופן פרוגרמטי קובצי dump של זיכרון heap ופרופילים של זיכרון heap מתוך סשנים פעילים של משתמשים.
מקורות מידע נוספים
למ��דע נוסף על זיכרון, אפשר לעיין במקורות המידע הבאים: