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