הוצאה משימוש

בכל גרסה, יכול להיות שממשקי 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();