טעינה מראש של מונחים בחשבון ניהול

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

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

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

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

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

חלוקת עבודה

אם משתמשים ב-DefaultPreloadManager, חלק מהעבודה מתבצע על ידי הקוד וחלק על ידי הכלי לטעינה מראש.

האפליקציה צריכה לבצע את הפעולות הבאות:

הכלי לניהול טעינה מראש מבצע את הפעולות הבאות:

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

תהליך העבודה של הכלי לטעינה מראש

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

כל השלבים האלה מוסברים בפירוט בדפים הבאים.

  1. האפליקציה יוצרת target preload status control. הכלי לניהול טעינה מראש שולח שאילתה לבקרה הזו כדי לגלות כמה מכל פריט מדיה צריך לטעון.
  2. האפליקציה יוצרת DefaultPreloadManager.Builder ועוברת את הבדיקה של סטטוס הטעינה מראש של היעד. לאחר מכן, האפליקציה משתמשת בכלי ליצירת מנהל הטעינה מראש.
  3. האפליקציה מוסיפה פריטי מדיה למנהל הטעינה מראש. האפליקציה מספקת אינדקס לכל פריט, שמציין את המיקום של הפריט בקרוסלה.
  4. לכל פריט מדיה, מנהל הטעינה מראש קורא את אמצעי הבקרה של טעינת היעד מראש כדי לשאול כמה מהפריט צריך לטעון. יכול להיות שרכיב הבקרה של טעינת היעד מראש יורה לטעון תוכן למשך זמן מסוים, רק לאחזר את המטא-נתונים של הפריט או לא לאחזר את הפריט בשלב הזה. אחרי שמנהל הטעינה מראש מקבל את המידע הזה, הוא מתחיל לטעון את תוכן המדיה.
  5. כשהמשתמש מתחיל להפעיל תוכן, האפליקציה קוראת למנהל הטעינה מראש כדי לבקש MediaSource עבור פריט המדיה הזה. האפליקציה גם קוראת ל-setCurrentPlayingIndex() כדי להודיע למנהל הטעינה מראש איזה פריט מדיה מופעל, כך שהעדיפויות של פריטי המדיה יעודכנו.
  6. בכל פעם שהעדיפויות של מנהל הטעינה מראש מתעדכנות, הוא קורא שוב לפקד הטעינה מראש של היעד כדי לגלות כמה מכל פריט לטעון.
  7. כשהאפליקציה סוגרת את הקרוסלה, היא משחררת את מנהל הטעינה מראש כדי לפנות את המשאבים שלה.