בדפים הבאים מוסבר איך לשפר את השימוש של האפליקציה בזיכרון.
הנחיות כלליות לגבי זיכרון
- סקירה כללית על זיכרונות
- הסבר על ארכיטקטורת הזיכרון הבסיסית של 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 מציג את השימוש בזיכרון של האפליקציה בייצור, עם פירוט לפי מצבי התהליך: חזית, שירות שפועל בחזית ושירות הפועל ברקע.
- נתוני תפקוד האפליקציה: שימוש בזיכרון של מפת הסיביות (bitmap)
- בתכונה 'תפקוד האפליקציה' מוצגים מדדים לגבי הזיכרון שבשימוש של מפת הסיביות של האפליקציה, על ידי צבירת נתונים ממכשירי Android.
- Crashlytics 20.1.0
- מציג חריגות של חוסר זיכרון (OOM) בסביבת הייצור וסוגר תהליכים של הגבלת זיכרון עם הקשר אבחוני כדי לתעדף ולתקן קריסות של שדות.
- ProfilingManager
- API מתקדם שמאפשר לאפליקציות לאסוף ולהעלות באופן פרוגרמטיבי קובצי dump של זיכרון heap ופרופילים של זיכרון heap מתוך סשנים של משתמשים פעילים.
מקורות מידע נוספים
למידע נוסף על זיכרון, אפשר לעיין במקורות המידע הבאים: