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