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