הוצאה משימוש

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