זיכרון ב-Android

בדפים הבאים מוסבר איך לשפר את השימוש של האפליקציה בזיכרון.

הנחיות כלליות לגבי זיכרון

סקירה כללית על זיכרונות
הסבר על ארכיטקטורת הזיכרון הבסיסית של 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 מתוך סשנים של משתמשים פעילים.

מקורות מידע נוספים

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

פוסטים בבלוגים

סרטונים