סקירה כללית על Memory Advice API

‫Memory Advice API הוא ממשק API ניסיוני מקורי שעוזר לאפליקציות ל-Android להישאר בגבולות הבטיחות של השימוש בזיכרון. ה-API עושה זאת על ידי הערכת כמות משאבי הזיכרון שנמצאים בשימוש, ואז מודיע לאפליקציה כשחורגים מספים מסוימים. ה-API יכול גם לדווח על אחוז השימוש המשוער בזיכרון ישירות לאפליקציה.

ההערכות שמוצגות על ידי ה-API עוזרות לקבוע מתי האפליקציה צריכה להתאים את השימוש בזיכרון, או למצוא תחומים לשיפור בגרסאות עתידיות של האפליקציה. ההתאמות יכולות לכלול כל דבר שמשנה את צריכת הזיכרון, כמו הפחתת הפרטים והאיכות של נכסים חזותיים ונכסי אודיו.

משאבי הזיכרון המשוערים כוללים זיכרון ערימה מקורי שהוקצה על ידי malloc, וזיכרון גרפי שהוקצה על ידי ממשקי ה-API של OpenGL ES ו-Vulkan Graphics. לכן, Memory Advice API הוא פתרון אידיאלי למשחקים ולאפליקציות עתירות גרפיקה.

האומדנים מבוססים על הנתונים הבאים:

  • מדדי המכשיר שנאספים על ידי ה-API
  • נתוני למידת מכונה ממכשירים
  • בדיקת המכשיר

ברמת ה-API, ‏ Memory Advice API מגדיר קבוצה של מצבי ייעוץ בנושא זיכרון ומעביר אותם לאפליקציות באמצעות קבוצה של פונקציות.

איך מתחילים איך מתחילים להשתמש ב-AdMob במשחקים שפותחו ב-Unity

הפצות

‫Memory Advice API הוא חלק מ-Android Games Development Kit‏ (AGDK) ומופץ דרך הערוצים הבאים:

במשחקים צריך להשתמש בגרסת Memory Advice API שמומלצת לסביבת הבנייה שלהם. ל-Android Studio, אנחנו ממליצים על גרסת Jetpack. לגבי Android Game Development Extension‏ (AGDE), מומלץ להשתמש בגרסה שמופיעה בדף ההורדה של AGDK.

תכונות

בקטע הזה מתוארים המאפיינים של Memory Advice API.

מצב הזיכרון

ה-API מדווח לאפליקציות על מצבי הזיכרון הבאים:

  • MEMORYADVICE_STATE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMIT
  • MEMORYADVICE_STATE_CRITICAL

פרטים נוספים זמינים בדפי העזרה בנושא memoryadvice_memorystate.

דיווח על מצב הזיכרון

ה-API תומך בדיווח על מצב הזיכרון באמצעות מנגנון של סקר או של קריאה חוזרת:

  • Polling:
    אפליקציה יכולה לשלוח קריאה ל-API בכל שלב כדי לאחזר את מצב הזיכרון.

  • קריאה חוזרת (Callback):
    אפליקציה יכולה לרשום פונקציית קריאה חוזרת ב-Memory Advice API. האפליקציה מציינת את תדירות הקריאה החוזרת. ה-API משתמש בתדירות כדי לקבוע מתי להפעיל את הקריאה החוזרת כשהתנאי של זיכרון האפליקציה מתקרב לגבול הבטוח או כשהוא נמוך באופן קריטי. הקריאה החוזרת לא מופעלת אם מצב הזיכרון בטוח. הקריאה החוזרת מופעלת משרשור משלה, ולא משרשור ששייך לאפליקציה.

שיקולי עלות ותדירות השיחות

ה-API של Memory Advice משתמש בזמן חישוב כדי ליצור את סטטוס הזיכרון. העלות משתנה בהתאם למכשיר, אבל בדרך כלל היא בין 1 ל-3 אלפיות השנייה לכל שיחה. חשוב לקחת בחשבון את התקורה הזו כשקובעים את התדירות שבה צריך לבדוק את מצב הזיכרון, או את התדירות שצריך לציין עבור הקריאה החוזרת של מצב הזיכרון.

דרישות

דרישות המכשיר

  • ‫Android 4.4 (API ברמה 19) ומעלה.

דרישות האפליקציה

  • ה-API תומך רק באפליקציות מקוריות (אפליקציות שנכתבו בעיקר ב-C/C++‎).

  • ה-API תומך רק במכשירים פיזיים, ולא באמולטורים.

דרישות לגבי גרסת NDK

הגרסה של Memory Advice API תומכת ברוב הגרסאות הפופולריות של NDK. רשימת הגרסאות הנתמכות של NDK מופיעה בהערות לגבי הגרסה.

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

בעיות ומשוב

‫Memory Advice API נמצא בגרסת בטא, ואנחנו מזמינים אתכם לשלוח משוב. אם יש לכם הצעות או שנתקלתם בבעיות במהלך השימוש ב-API, אתם יכולים ליצור בעיה ב-IssueTracker.