הוצאה משימוש

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

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

RenderScript

החל מ-Android 12, ממשקי ה-API של RenderScript הוצאו משימוש. הם ימשיכו לפעול, אבל אנחנו צופים שתעשיית המכשירים והרכיבים תפסיק לספק תמיכה בשיפור מהירות באמצעות חומרה עם הזמן. כדי לנצל את מלוא היתרונות של האצת GPU, מומלץ להפסיק להשתמש ב-RenderScript.

פלייליסטים ב-Android

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

מומלץ לקרוא ולשמור פלייליסטים כקובצי m3u.

תכונות של Display API שהוצאו משימוש

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

ב-Android 12 אנחנו ממשיכים להמליץ להשתמש ב-WindowMetrics ומבטלים את השימוש בשיטות הבאות:

אפליקציות צריכות להשתמש בממשקי ה-API של WindowMetrics כדי לשלוח שאילתה לגבי גבולות החלון שלהן, או להשתמש ב-Configuration.densityDpi כדי לשלוח שאילתה לגבי הצפיפות הנוכחית.

לתשומת ליבכם: ספריית Jetpack‏ WindowManager כוללת את הכיתה WindowMetrics שתומכת ב-Android 4.0.1 (רמת API 14) ואילך.

דוגמאות

ריכזנו כאן כמה דוגמאות לשימוש ב-WindowMetrics.

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

פעילות צריכה להסתמך על WindowMetrics מההקשר של הפעילות לכל עבודה שקשורה לממשק המשתמש, במיוחד WindowManager.getCurrentWindowMetrics().

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

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

אם לא ניתן לשנות את הגודל של האפליקציה באופן מלא, היא צריכה לשלוח שאילתה לגבי הגבולות ממכונה של WindowContext, ולאחזר את WindowMetrics של אזור התצוגה המקסימלי שזמין לאפליקציה באמצעות WindowManager.getMaximumWindowMetrics().

Kotlin

val windowContext = context.createWindowContext(mContext.display!!,
      WindowManager.LayoutParams.TYPE_APPLICATION, null)
val projectionMetrics = windowContext.getSystemService(WindowManager::class.java)
      .maximumWindowMetrics

Java

Context windowContext = mContext.createWindowContext(mContext.getDisplay(),
      WindowManager.LayoutParams.TYPE_APPLICATION, null;
WindowMetrics projectionMetrics = windowContext.getWindowManager()
      .getMaximumWindowMetrics();