תכונות שיצאו משימוש

בכל גרסה, יכול להיות שממשקי API ספציפיים של Android יוצאו משימוש או שיהיה צורך לבצע בהם שינוי כדי לספק חוויית פיתוח טובה יותר או לתמוך ביכולות חדשות בפלטפורמה. במקרים כאלה, מערכת Android תוציא משימוש באופן רשמי את ממשקי ה-API המיושנים, ותפנה את המפתחים לממשקי 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();