תודה, גוגל: עדכוני האפליקציות יקוצצו בקרוב בעד 90 אחוזים

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

מקור: Pixabay

מקור: Pixabay

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

כעת גוגל יוצאת בגישה אחרת המבוססת על “File-by-File patching”, אשר מקטינה את גודל עדכוני האפליקציות אף יותר. באמצעות טכניקה זו ניתן לצמצם את גודל העדכונים ב-65 אחוזים ובמקרים מסוימים הקיצוצים הגיעו עד ל-90 אחוזים.

מפשטת תהליכים

מרבית התוכן בתוך קבצי ה-ZIP שמרכיבים את ה-APK מכווץ באמצעות טכנולוגיה שנקראת Deflate. אמנם מדובר בשיטה מצוינת לכיווץ נתונים, אבל יש לה חסרון משמעותי; היא הופכת את תהליך זיהוי השינויים בתוכן המקורי והלא דחוס לקשה במיוחד. עד כמה קשה? אפילו ביצוע של שינוי מזערי במיוחד לתוכן המקורי יכול לגרום לפלט הדחוס ב-deflate להיראות אחרת לגמרי.

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

השוואת הביצועים

דוגמאות ליישומים שעושים שימוש בטכניקה החדשה, מקור: Android Developers Blog

בעזרת הטכניקה החדשה שמציגה גוגל, כדי לקבל את הגרסה החדשה של היישום, Google Play ישלח למכשיר פאטץ׳ שמתאר את ההבדלים בין הגרסה הישנה והחדשה של האפליקציה, שכן שיטת ה-File-by-File הייסודית מתבססת על זיהוי השינויים בנתונים הדחוסים. כדי לייצר פאטץ׳ שכזה, קודם כל מתבצעת השוואה בין קבצי ה-APK הישן לבין אלה של ה-APK החדש (כדי לעשות זאת נעשה שימוש באלגוריתם הקודם שהציגה גוגל, bsdiff). לאחר מכן, עדכון האפליקציה במכשיר שלכם מסתכם בפירוק אותו יישום, החלת השינויים החדשים בו ודחיסתו בשנית. נשמע פשוט, לא?

אבל (בלתי נמנע שיהיה אבל), לשיטה החדשה יש חסרון אחד – היא תגרום למכשיר שלכם להתאמץ קצת יותר. במכשרים חדשים (החל מ-2015) תהליך ה-recompression יכול לקחת קצת יותר משניה פר מגה בייט, ובמכשירים ישנים או פחות חזקים – אפילו יותר.

אתם יכולים לקרוא עוד על הטכניקה החדשה שמבוססת כולה על קוד פתוח בעמוד ה-GitHub.

הילה חיימוביץ׳

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

הגב

3 Comments on "תודה, גוגל: עדכוני האפליקציות יקוצצו בקרוב בעד 90 אחוזים"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
חיים מענל
Guest

איזה מזל כי יש לי תמיד 500 מגה פנויים והוא לא מעדכן אף פעם כי אין מקום ועכשיו אולי הוא יוכל לעדכן

ש.
Guest

1. מכיוון שהכתבה תורגמה מהכתבה המקורית בלינק הזה :
http://android-developers.blogspot.co.il/2016/12/saving-data-reducing-the-size-of-app-updates-by-65-percent.html

הייתי מצפה שתצרפי את הלינק ותכתבי שמדובר בתרגום.

2. bsdiff : זהו אלגוריתם בקוד פתוח שהוצע לעולם לפני כ 13 שנה ע”י
Colin Percival וגוגל עושה בו שימוש עבור מנגנון הOTA שלהם וכעת גם עבור עדכון האפליקציות

ש.
Guest

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

wpDiscuz

תגיות לכתבה: