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