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