אופטימיזציה של הביצועים ב-Android

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

שמירה במטמון של קובצי APK

במסמך הזה מתואר העיצוב של פתרון לשמירת קובצי APK במטמון, כדי לאפשר התקנה מהירה של אפליקציות שנטענו מראש במכשיר שתומך במחיצות A/B. יצרני ציוד מקורי (OEM) יכולים למקם אפליקציות פופולריות ואפליקציות שנטענו מראש במטמון ה-APK שמאוחסן במחיצה B הריקה ברובה במכשירים חדשים עם מחיצות A/B, בלי להשפיע על נפח האחסון של הנתונים שגלויים למשתמשים.

זמני אתחול

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

בריאות

‫Android 9 כולל את android.hardware.health HAL 2.0, שדרוג גרסה משמעותי מ-health@1.0 HAL. ה-HAL החדש מציע הפרדה ברורה יותר בין מסגרת העבודה לבין קוד הספק, מידה רבה יותר של חופש להתאמה אישית של הספק בדוחות מידע על תקינות, ומידע נוסף על תקינות המכשיר מעבר לנתוני הסוללה.

תהליך שנועד להרוג תהליכים שצורכים הרבה זיכרון

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

אופטימיזציה מבוססת-פרופיל

מערכת ה-Build של Android תומכת בשימוש באופטימיזציה מבוססת-פרופיל (PGO) של Clang במודולים מקוריים של Android שיש להם כללי Build של Blueprint.

אופטימיזציה של קוד ומשאבים ב-R8

מערכת ה-Build של Android משתמשת בקומפיילר R8 כדי לצמצם, לבצע אופטימיזציה ולהסיר קוד ומשאבים לא בשימוש מיעדי DEX (‏android_app, ‏android_test ומודולים שניתן להתקין java_library). בספריות סטטיות (android_library ו-java_library סטטי), Soong משתמש בבלוק optimize כדי לצרף ולייצא כללי שמירה של צרכנים.

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

תמונות מצב של משימות

תמונות מצב של משימות הן תשתית שהוצגה ב-Android 8.0, שמשלבת צילומי מסך של תמונות ממוזערות של אפליקציות שהיו בשימוש לאחרונה וגם של משטחים שנשמרו מ-Window Manager. תמונות ממוזערות של פריטים אחרונים מייצגות את המצב האחרון של משימה בתצוגה 'פריטים אחרונים'.

יומן כתיבה מראש

ב-Android 9 הוצג מצב מיוחד של SQLiteDatabase שנקרא Compatibility WAL (יומן כתיבה מראש). המצב הזה מאפשר למסד נתונים להשתמש ב-journal_mode=WAL ולהמשיך לשמור על חיבור אחד לכל היותר לכל מסד נתונים.

NPU manager

‫Android מגרסה 17 ואילך תומך במנהל של יחידת העיבוד העצבי (NPU), שמתאם את הקצאות המשאבים, נותן עדיפות לעומסי עבודה ועוקב אחרי סטטוס הביצוע כדי לשמור על יציבות המערכת ולייעל את ביצועי המכשיר.