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

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