גרפיקה

  
שימוש ביכולות גרפיות בכמה גרסאות של פלטפורמת Android

בטבלה הזו מפורטים כל הארטיפקטים בקבוצה androidx.graphics.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
ליבת גרפיקה 1.0.4 - - -
graphics-path 1.1.0 - - -
graphics-shapes 1.1.0 - - -
הספרייה הזו עודכנה לאחרונה בתאריך: 6 במאי 2026

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Graphics, צריך להוסיף את מאגר Maven של Google לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

dependencies {
    implementation "androidx.graphics:graphics-core:1.0.4"
    implementation "androidx.graphics:graphics-path:1.1.0"
    implementation "androidx.graphics:graphics-shapes:1.1.0"
}

Kotlin

dependencies {
    implementation("androidx.graphics:graphics-core:1.0.4")
    implementation("androidx.graphics:graphics-path:1.1.0")
    implementation("androidx.graphics:graphics-shapes:1.1.0")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גרפיקה – צורות

גרסה 1.1

גרסה 1.1.0

‫22 באוקטובר 2025

androidx.graphics:graphics-shapes:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

גרסה ‎1.1.0-rc01

‫10 בספטמבר 2025

androidx.graphics:graphics-shapes:1.1.0-rc01 מופץ. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.1.0-beta01

‫30 ביולי 2025

androidx.graphics:graphics-shapes:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP 2.0.0 או גרסה חדשה יותר (Idb6b5)
  • הוספה של יעדי קומפילציה של mingwX64, ‏ js ו-wasm. (I2c46a)

גרסה ‎1.1.0-alpha01

‫11 בדצמבר 2024

androidx.graphics:graphics-shapes:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • שינינו את ההדגמה הראשית והפכנו אותה לכלי כללי לעריכת צורות. כך אפשר לייבא צורות מנתיב SVG, לערוך ידנית את התכונות שזוהו במקרה של פספוסים בתהליך האוטומטי, ולייצא את התוצאה לקוד שאפשר להשתמש בו בקוד ייצור. (I1ac13)
  • החלפת מדידות הזווית של התקדמות קווי המתאר של הצורה במדידות של אורך העקומה, כדי לאפשר שימוש בצורות מורכבות יותר למורפינג. ‫(I75478) , I390dd
  • שיפרנו את האלגוריתם של מיפוי התכונות, כך שיותר שינויים צריכים להיראות טבעיים יותר. (I83287)

שינויים ב-API

  • הוספת ייבוא של נתיבי SVG וסריאליזציה של תכונות. התהליך הרגיל הוא:
    • משתמשים במאפיין החדש SvgPathParser.parseFeatures() כדי להמיר נתיב SVG (הערך של המאפיין d ברכיב path של SVG) ל-List<Feature>.
    • אפשר לשנות את האובייקט הזה, ואז לבצע סריאליזציה שלו למחרוזת באמצעות FeatureSerializer.serialize().
    • אפשר להשתמש במחרוזת שמתקבלת בקוד ייצור, על ידי ייבוא שלה באמצעות FeatureSerializer.parse()
    • הערה: השלבים 1 ו-2 מתבצעים פעם אחת, ואפשר לבצע אותם באמצעות האפליקציה החדשה. קוד הייצור צריך לבצע רק את שלב 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
  • הצגת ישויות של פוליגונים וסוגי ישויות. עכשיו אפשר ליצור עוד RoundedPolygons כלליים באמצעות בנאי הבסיס שמקבל List<Features>. התכונות הן בעיקר רשימה של עקומות בזייה מעוקבות, אבל הן מתויגות כדי לעזור לאלגוריתם המורפינג להתאים בין הצורות של ההתחלה והסוף (פינות קמורות ממופות לפינות קמורות ופינות קעורות ממופות לפינות קעורות). (I61e76), (I1fc5c)
  • הוספת תמיכה בטירגוט KMP של watchosDeviceArm64 ובטירגוט kotlin 1.9. ‫(Icf15d, ‏ b/364652024)

תיקוני באגים

  • תוקן מקרה קצה שבו התכונה האחרונה הייתה ריקה. (I390dd)
  • יצירת RoundedPolygon תהיה חזקה יותר. (Ib862c, ‏ b/360888486)
  • תוקן באג באתחול של RoundedPolygon. (I83ddb)
  • תיקון שגיאה באלגוריתם להערכת מרכז הפוליגון. (Ida147)

גירסה 1.0

גרסה 1.0.1

‫4 בספטמבר 2024

הגרסאות של androidx.graphics:graphics-shapes:1.0.1, androidx.graphics:graphics-shapes-android:1.0.1 וגם androidx.graphics:graphics-shapes-desktop:1.0.1 יוצאות. גרסה 1.0.1 מכילה את השמירות האלה.

גרסה 1.0.0

‫21 באוגוסט 2024

הגרסאות של androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0 וגם androidx.graphics:graphics-shapes-desktop:1.0.0 יוצאות. גרסה 1.0.0 מכילה את השמירות האלה.

גרסה ‎1.0.0-rc01

‫24 ביולי 2024

הגרסאות של androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01 וגם androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 יוצאות. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.0.0-beta01

‫1 במאי 2024

הגרסאות של androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01 וגם androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 יוצאות. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • מאפשרת לסובב מראש צורות כדי להתחיל בנקודה אחרת. השינוי הזה מאפשר לpillStarצורות להתחיל את העיקולים שלהן מנקודה לא מוגדרת מראש בהיקף. האפשרות הזו שימושית כשמנפישים את המשיכות של נתיב הצורה, כדי להתחיל לצייר ממיקום ספציפי בקו המתאר של הצורה. (Ifbb4d, ‏ b/324303807)
  • נוספו פונקציות calculateBounds() ל-Morph, שדומות לפונקציות המקבילות ב-RoundedPolygon. (I8a3b6, b/325463575)

גרסה ‎1.0.0-alpha05

‫7 בפברואר 2024

הגרסאות של androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05 וגם androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 יוצאות. גרסה ‎1.0.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • בספרייה יש עכשיו פונקציות חדשות, pill() ו-pillStar(), שמאפשרות ליצור בקלות צורות מעוגלות או צורות עם כוכבים. יש גם ממשקי API חדשים לחישוב הגבולות המדויקים שנדרשים לצורה (הגבולות הקודמים היו רק הערכה שמבוססת על נקודת העיגון ונקודות הבקרה של עקומת בזייה הבסיסית), וגם הגבולות המקסימליים האפשריים, שיכולים לעזור לקבוע את הגודל של מאגר שמכיל את הצורה אם היא תסובב בתוך המאגר הזה. (I71827)

שינויים ב-API

  • עכשיו יש יותר אפשרויות לאחזור גבולות מדויקים ומקסימליים. (I6d49f, b/317286450)

תיקוני באגים

  • היו מדי פעם ארטיפקטים של רינדור כשציירו את הצורות האלה כנתיבים עם קו מתאר, בגלל בעיה ברמת הרינדור שקשורה לעקומות באורך אפס. כדי לתקן את הבאג הזה, ביטלנו את כל העקומות באורך אפס (שהצורות לא צריכות, וכך גם חוסכים את התקורה של הנתיבים שנוצרו על ידי הצורות).

גרסה ‎1.0.0-alpha04

‫13 בדצמבר 2023

הגרסאות של androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04 וגם androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 יוצאות. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • הגרסה הזו כוללת כמה שינויים ב-API, וגם תיקוני באגים.
  • הרבה מהשינויים ב-API הופכים את ספריית הצורות לידידותית ל-KMP. כך קל יותר להתקשר מקוד שאינו קוד Android (למשל קוד Compose שאינו ספציפי ל-Android). לדוגמה, אין סוגי Android ב-API, כמו הסוגים הקודמים PointF,‏ Matrix ו-Path.
  • בנוסף, בוצעו כמה שינויים בממשקי API וביישום מסיבות שקשורות לביצועים, במיוחד כדי לצמצם את הקצאת האובייקטים (ואיסוף האובייקטים). לדוגמה, המעבר מ-PointF לפרמטרים נפרדים של Float מונע הקצאה של הרבה מבני PointF זמניים כדי להכיל את הקודקודים האלה.

שינויים ב-API

  • הוחלף Morph.asMutableCubics בפונקציה שחוזרת על MutableCubics. בוצע שינוי בממשק הפונקציונלי PointTransformer, עכשיו הוא מקבל קואורדינטות x ו-y של Point ומחזיר TransformedResult (שנוצר עם קואורדינטות x ו-y שעברו טרנספורמציה) (I6719e)
  • הוסר ה-constructor הציבורי Cubic והוא הפך לפונקציית factory. (I409ce)
  • הוספת ממשקי API לציור ולשינוי של Android (‏I079f6, ‏b/292289543)
  • הסרת יחסי תלות ב-Android‏ (Iadc1c, ‏ b/292289543)
  • שמות המאפיינים של העוגן והבקרה הגיוניים יותר עכשיו (If13bd, ‏ b/294562941)
  • הפרמטרים של PointF השתנו לזוגות Float (Id4705, ‏ b/276466399, ‏ b/290254314)
  • הערך progress מועבר עכשיו ישירות לפקודות השרטוט Morph (Icdca2)

תיקוני באגים

  • תוקן באג שקרה כשיוצרים צורות גדולות. (I4fd66, ‏ b/313497325)

גרסה ‎1.0.0-alpha03

‫7 ביוני 2023

androidx.graphics:graphics-shapes:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

שינויים ב-API

  • נוספה פונקציה חדשה RoundedPolygon.rectangle() (I78e7e, ‏ b/280322189)
  • הפונקציות Star ו-Circle הן עכשיו באותיות קטנות ומופעלות באמצעות אובייקט נלווה של RoundedPolygon: לדוגמה, RoundedPolygon.star(...)(I14735)

תיקוני באגים

  • תיקון באג בהחלקה (Ibf894)
  • תוקן באג שהתרחש כשהצורה של ההתחלה והסיום היו זהות. לשפר את חלוקת המקום הפנוי בצדדים לחיתוך, קודם להשתמש במקום הפנוי לעיגול ואז להחלקה אם נשאר מקום. (Ibd320, ‏ b/277936300)

גרסה ‎1.0.0-alpha02

‫19 באפריל 2023

androidx.graphics:graphics-shapes:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • מחלקת העל Polygon מוזגה עם מחלקת המשנה שלה, RoundedPolygon. כל הפוליגונים הם עכשיו פוליגונים מעוגלים [אופציונלית].
  • הפונקציה Star (שעדיין מחזירה RoundedPolygon, כמו קודם) מקבלת עכשיו ערך innerRadius, במקום הפרמטר innerRadiusRatio הקודם. היחידות האלה זהות ליחידות של פרמטר הרדיוס הקיים, כך שהשימוש בהן פשוט ועקבי יותר. בנוסף, הפרמטר numOuterVertices שונה ל-numVerticesPerRadius כדי להבהיר שאותו מספר מוקצה גם לרדיוס הפנימי וגם לרדיוס החיצוני.
  • בתיעוד הקודם צוין שהערך של CornerRounding.radius הוא יחסי לגודל המצולע, אבל הוא היה (ועדיין) ערך מוחלט ולא יחסי. המסמכים עודכנו וההערה שהגבילה את הערך המקסימלי ל-1.0 תוקנה.

גרסה ‎1.0.0-alpha01

‫5 באפריל 2023

‫Graphics-Shapes היא ספרייה חדשה שמאפשרת ליצור ולעבד בקלות צורות רב-צלעיות מעוגלות, וגם לבצע מורפינג (אנימציה) פשוט ואוטומטי בין צורות שונות.

androidx.graphics:graphics-shapes:1.0.0-alpha01 מופץ. הגרסה הזו פורסמה מענף פנימי.

תכונות חדשות

  • אפשר להשתמש ב-Polygon API כדי ליצור מצולעים משוכללים ומצולעים בצורת כוכב עם מספר הקודקודים הרצוי.
  • אפשר להשתמש בפרמטרים האופציונליים CornerRounding כדי לציין את רדיוס העיגול ואת פרמטרים ההחלקה של הפינות, וכך ליצור צורות מצולעות עם פינות מעוגלות.
  • אפשר להשתמש ב-API החדש Morph(Polygon, Polygon) כדי לחשב באופן אוטומטי צורת 'מורף' שההתקדמות שלה יכולה להיות מוגדרת מ-0 עד 1, כדי ליצור אנימציה בין צורת ההתחלה לצורת הסיום. מנפישים את ההתקדמות הזו לאורך זמן, ומשרטטים את התוצאה בכל פריים כדי ליצור אנימציה חלקה בין הצורות המעוגלות החדשות האלה.

Graphics-Path

גרסה 1.1

גרסה 1.1.0

‫6 במאי 2026

androidx.graphics:graphics-path:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

גרסה ‎1.1.0-rc01

‫11 במרץ 2026

androidx.graphics:graphics-path:1.1.0-rc01 מופץ. גרסה ‎1.1.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.1.0-beta01

‫17 בדצמבר 2025

androidx.graphics:graphics-path:1.1.0-beta01 מופץ. גרסה ‎1.1.0-beta01 מכילה את השמירות האלה.

גירסה 1.0

גרסה ‎1.1.0-alpha01

‫13 באוגוסט 2025

androidx.graphics:graphics-path:1.1.0-alpha01 מופץ. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • הוספנו הטמעה להמרה מקונית לריבועית, ואפשר להשתמש בה בפלטפורמות המארחות. f059b1

גרסה 1.0.1

‫1 במאי 2024

androidx.graphics:graphics-path:1.0.1 מופץ. גרסה 1.0.1 מכילה את השמירות האלה.

תיקוני באגים

  • שיפורים בדגלי קומפילציה.

גרסה 1.0.0

6 במרץ 2024

androidx.graphics:graphics-path:1.0.0 מופץ.

גרסה ‎1.0.0-rc01

‫21 בפברואר 2024

androidx.graphics:graphics-path:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • שיפור הביצועים של PathIterator ב-API < 34 (Id4629)

גרסה ‎1.0.0-beta02

‫10 בינואר 2024

השינויים בגרסה הזו נועדו לצמצם את גודל הספרייה, שהיה גדול מהנדרש בגלל הנחות שנעשו על ידי קוד Native.

androidx.graphics:graphics-path:1.0.0-beta02 מופץ. גרסה ‎1.0.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • הגודל של libandroidx.graphics.path.so הוקטן ב-96%. (I71397)
  • הקטנת הגודל של libandroidx.graphics.path.so ב-5%. (I2da7c)
  • הקטנו את הרכיבים המקוריים של androidx.graphics:graphics-path ב-43%. (I8e40d)

גרסה ‎1.0.0-beta01

‫29 בנובמבר 2023

androidx.graphics:graphics-path:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • הוסרו שימושים ב-API הניסיוני isAtLeastU() (Ie9117, ‏ b/289269026)

תיקוני באגים

  • תיקונים שונים ושיפורים בביצועים, כולל האופן שבו הספרייה מתמודדת עם חתכי חרוט.

גרסה ‎1.0.0-alpha02

‫7 ביוני 2023

androidx.graphics:graphics-path:1.0.0-alpha02 מופץ. הגרסה הזו פותחה בענף פנימי.

תכונות חדשות

  • נפתרה בעיה בבדיקת הגרסה הפנימית של הפלטפורמה שגרמה לבעיות בהרצה בתצוגות מקדימות של Android 14 (הבדיקה נכשלה, אבל המנגנון לביצוע פעולות בגרסאות קודמות לא פועל בצורה תקינה ב-Android 14).

גרסה ‎1.0.0-alpha01

‫22 במרץ 2023

androidx.graphics:graphics-path:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הספרייה החדשה הזו מאפשרת להריץ שאילתות על נתוני נתיב באמצעות PathIterator API חדש. באמצעות ה-API הזה, המתקשרים יכולים לחזור על כל הפלחים של אובייקט Path כדי לקבוע את הפעולה והנתונים של הפלחים האלה.
  • הספרייה משתמשת בממשקי API דומים שהוצגו בתצוגה המקדימה של Android 14, אבל גרסת AndroidX של ה-API פועלת גם בגרסאות עד API 21.

Graphics-Core

גירסה 1.0

גרסה 1.0.4

‫3 בדצמבר 2025

androidx.graphics:graphics-core:1.0.4 מופץ. גרסה 1.0.4 מכילה את השמירות האלה.

תיקוני באגים

  • לשפר את התאימות והביצועים במכשירים מסוימים.

גרסה 1.0.3

‫26 במרץ 2025

androidx.graphics:graphics-core:1.0.3 מופץ. גרסה 1.0.3 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה של הבהובים במסך מלא בזמן ציור במכשירים מסוימים עם API<33.

גרסה 1.0.2

‫16 באוקטובר 2024

androidx.graphics:graphics-core:1.0.2 מופץ. גרסה 1.0.2 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שבה מופעי SurfaceControl עדיין נוהלו על ידי מערכת ההרכבה, גם אחרי שהם שוחררו.
  • תוקנה בעיה שבה מופע HardwareBuffer שמוצג כרגע לא שוחרר אחרי שבוטלו תלויות של השהיה נמוכה
  • תוקנה בעיית הבהוב במכשירי Android 14 ומעלה מסוימים שלא תמכו בדגל השימוש במאגר הקדמי

גרסה 1.0.1

‫4 בספטמבר 2024

androidx.graphics:graphics-core:1.0.1 מופץ. גרסה 1.0.1 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שבה משאבי הזיכרון לא שוחררו מדי פעם.

גרסה 1.0.0

‫29 במאי 2024

androidx.graphics:graphics-core:1.0.0 מופץ. גרסה 1.0.0 מכילה את השמירות האלה.

התכונות העיקריות בגרסה 1.0.0

  • גרסה יציבה רשמית של ספריית graphics-core. כולל תיקוני באגים קלים ושיפורי ביצועים מגרסה 1.0.0-rc01

גרסה ‎1.0.0-rc01

‫17 באפריל 2024

androidx.graphics:graphics-core:1.0.0-rc01 מופץ. הגרסה הזו פותחה בענף פנימי.

תיקוני באגים

  • תוקנה בעיה שעלולה לגרום לסגירה כפולה של מתארים של קבצים ב-CanvasBufferedRendererAPI במכשירי Android מסוימים שפועלת בהם Android 14.
  • תוקנה בעיה שבה FrameBuffer לא מחק כראוי מופעים של framebuffer.

גרסה ‎1.0.0-beta01

‫13 בדצמבר 2023

androidx.graphics:graphics-core:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו LowLatencyCanvasView API חדש לתמיכה ברינדור עם זמן אחזור נמוך באמצעות ממשקי ה-API של גרפיקה דו-ממדית ב-Android‏ (Canvas + Paint) בהיררכיית התצוגה.
  • הוספנו את API‏ CanvasBufferedRenderer כדי לתמוך בעיבוד של Canvas באמצעות חומרה ל-HardwareBuffer. אפשר להשתמש בזה כדי לצייר חלק מממשק משתמש לתוך מאגר שאפשר להמיר ל-Bitmap באמצעות Bitmap.wrapHardwareBuffer API.

שינויים ב-API

  • ה-API‏ CanvasBufferRenderer#releaseBuffer עודכן כך שיכלול פרמטר אופציונלי של גדר וירטואלית. עדכנו את המסמכים כדי לתאר מתי מוחזרת התוצאה RenderResult#fence. (If1ea7)
  • הוספת שיטה draw ל-RenderRequest כדי לתמוך בשימוש בקורוטינות לתזמון בקשות לציור. שינינו את השם של שיטת הציור הקודמת שצרכה רכיב Executor ל-drawAsync. השיטה isClosed() עברה רפקטורינג והפכה למאפיין. (I5bff6)
  • הוספנו ל-CanvasFrontBufferRenderer פרמטר של פורמט מאגר כדי למפות ישירות ל-CanvasBufferedRenderer.Builder#setBufferFormat (I0f272)
  • נוצר API‏ CanvasBufferedRenderer לטיפול בעיבוד מואץ של לוח Canvas באמצעות חומרה לתוך HardwareBuffer. ההגדרה הזו מספקת הטמעה של backport ל-Android Q לצד הגדרה של עומק swapchain של HardwareBuffers. ההגדרה של ColorSpace עדיין מוגבלת ל-Android U ומעלה, אבל הטמעת התאימות מספקת התנהגות של no-op בשם המפתחים. (I9b1d8)
  • מוסיפים ממשקי API של setFrameRate/clearFrameRate ל-SurfaceControlCompat.Transaction כדי לשלוט בקצב הפריימים לצד אסטרטגיית השינוי למעברים חלקים או למעברים שמוגדרים כברירת מחדל. (I6045c)
  • הורדנו את רמת ה-API הנדרשת ל-setDataSpace מ-Android T ל-Android Q. (I59c34)
  • נוסף קריאה חוזרת (callback) ל-API‏ onBufferReleased ל-API‏ GLFrameBufferRenderer כדי לתת למשתמשים הזדמנות לנקות את הסטטוס כשמאגר נתונים זמני לא מוצג יותר (I8a4e2)
  • יצירת LowLatencyCanvasView כדי לתמוך בתרחיש שימוש פשוט של עיבוד תוכן עם זמן אחזור נמוך, שמסונכרן עם עיבוד היררכיית התצוגה. התהליך הזה מפשט את המורכבויות שקשורות לניהול של SurfaceView, כי הוא מנהל באופן פנימי את מופע SurfaceView שמתורגם במסך או מחוצה לו, כדי להשיג עיבוד מסונכרן עם זמן אחזור נמוך. (I9253b)
  • הוספנו תמיכה בהגדרת מרחב צבעים ל-CanvasFrontBufferedRenderer API. עודכנו קריאות חוזרות (Callback) עם מאגרים מרובים כך שיכללו גם את מאגר הנתונים הזמני האחורי SurfaceControl (I24bd9)

גרסה ‎1.0.0-alpha05

‫6 בספטמבר 2023

androidx.graphics:graphics-core:1.0.0-alpha05 מופץ. גרסה ‎1.0.0-alpha05 מכילה את השמירות האלה.

תכונות חדשות

  • השקנו את GLFrameBufferRenderer API. ההגדרה הזו מספקת שילוב של יחסי תלות ב-OpenGL, הגדרה של שרשרת החלפה, פורמטים של פיקסלים והגדרה של SurfaceControl. (Ic775b)

שינויים ב-API

  • נוספו פרמטרים של רוחב וגובה לממשקי API שונים של קריאה חוזרת (callback) כדי להעביר מידות מ-SurfaceHolder#Callbacks. (I7f9fc)
  • נוסף API ברור למחיקה של שכבות עם מאגר כפול ושל שכבות עם מאגר מרובה. (Ic1f95)
  • הוספנו תמיכה בהגדרת סוג המאגר הבסיסי של שרשראות החלפה שמשמשות ב-GLFrontBufferedRenderer. (I07a13)
  • הוספנו מאפייני kotlin לשיטות get ב-GLFrameBufferRenderer, הערה IntRange למקסימום רשומות במאגר, והערות HardwareBufferFormart ו-HardwareBufferUsage ל-setFormat/setUsage בהתאמה. (Ief89e)
  • עדכנו את setBuffer API בעסקאות SurfaceControl כדי לספק גדר שחרור. (Ice1bb)
  • הוספנו ממשקי API של SurfaceControlCompat.Transaction כדי להגדיר את מרחב הנתונים וגם את טווח הבהירות המורחב. (Ic378d)

גרסה ‎1.0.0-alpha04

‫7 ביוני 2023

androidx.graphics:graphics-core:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו את CanvasFrontBufferedRenderer כדי לתמוך בגרפיקה עם זמן אחזור קצר באמצעות android.graphics.Canvas API לצד הטמעה קיימת של OpenGL

שינויים ב-API

  • SurfaceControlCompat.Transaction#setBuffer API מעודכן שמאפשר ליצור מופעים של HardwareBuffer עם ערך null כדי לשקף את ה-API המתאים של הפלטפורמה (I173d7)
  • צריך לשנות את השם של שיטות שמתייחסות לרינדור עם מאגר נתונים זמני כפול לרינדור עם מאגר נתונים זמני מרובה, כי יכול להיות ששרשרת ההחלפה של הגיבוי תכיל יותר מ-2 מאגרי נתונים זמניים. (I830d7)
  • ‫Create CanvasFrontBufferedRenderer API כדי לאפשר לצדדים שלישיים להשתמש במערכת עיבוד עם מאגר קדמי באמצעות Canvas API. (Ibfc29)

תיקוני באגים

  • תוקנה הבעיה שבה התוכן לא הוצג אחרי חידוש הפעילות המתאימה.GLFrontBufferedRenderer
  • תוקנה בעיה שבה תוכן שמאוחסן בזיכרון המטמון הקדמי נמחק לפני הזמן.
  • תוקנה הבעיה שבה SurfaceHolder.Callbacks לא הוסר אחרי שפורסמו ממשקי API של גרפיקה עם השהיה נמוכה.

גרסה ‎1.0.0-alpha03

‫22 במרץ 2023

androidx.graphics:graphics-core:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

שינויים ב-API

  • עדכנו את ההטמעה של הקריאה החוזרת (callback) GLFrontBufferedRenderer כדי לספק אובייקט BufferInfo שמכיל את הרוחב והגובה של המאגר, יחד עם מזהה של מאגר מסגרות שאפשר להשתמש בו כדי לשנות את היעד המקורי אחרי העיבוד למאגר זמני. (I7fe20)
  • איחדנו את יצירת SyncFence לשיטת factory סטטית ב-SyncFenceCompat.
  • הוסרה שיטת תאימות ציבורית ל-eglDupNativeFenceFDANDROID לטובת שיטת factory של SyncFenceCompat ליצירת SyncFence. הסיבה לכך היא לוודא שכל ממשקי ה-API יקבלו את ההטמעה הנכונה של SyncFence, ללא קשר לרמת ה-API. (I849bb)
  • נוספה תיעוד ל-FrameBufferRenderer ול-SyncStrategy.
    • הועברו FrameBufferRenderer + FrameBuffer + FrameBufferPool לחבילה androidx.graphics.opengl
    • הפריט SyncStrategy הועבר לחבילה androidx.graphics.opengl
    • RenderCallback#onDraw מסמכים עודכנו
    • עדכון המסמכים של RenderCallback#obtainFrameBuffer שבהם האחריות להפעלת FrameBuffer.close מוטלת על המטמיע של ה-API
    • עדכנו את onDrawComplete כדי לציין שהצרכנים אחראים לשליחת התוכן להצגה
    • העברנו את הממשקים/המחלקות של התאימות SyncFence לחבילה androidx.hardware כדי לשקף את המסגרת
    • שינינו את השם של SyncFence API ל-SyncFenceV19 והגדרנו אותו כפרטי כדי לאחד את השימושים ב-SyncFenceCompat, שמסתמך על SyncFence API של המסגרת בכל מקום שאפשר. (I5149c)
  • נוספו ה-methods‏ GLFrontBufferedRenderer#cancel ו-GLFrontBufferedRenderer#execute. האפשרות הראשונה שימושית בתרחישים של דחיית מגע בכף היד, שבהם צריך לבטל את הרינדור למאגר הקדמי ולהסתיר אותו. האפשרות השנייה שימושית בתרחישים שבהם רוצים לשנות אובייקטים בשרשור GL בלי לתזמן עיבוד. ‫(If0b7f)
  • הוספת API להצגה ישירה בשכבה עם מאגר כפול. התכונה הזו עוזרת לעבד מחדש סצנה אחרי הפסקה, וגם מאפשרת לצרכנים לקבוע באופן סלקטיבי מתי להשתמש בעיבוד דינמי של מאגר קדמי על סמך הסצנה הרצויה לעיבוד. (Ied56c)
  • הוספנו API חדש ל-SurfaceControlCompat.Builder כדי לתמוך בהגדרת SurfaceControl האב ממופע אחר של SurfaceControl, בנוסף למנגנון הקיים מ-SurfaceView. (I1d1b6)
  • מאפיין המציין אם ערך יכול להיות ריק (nullability) של סוגי החזרה נוספים של פונקציות שהוצאו משימוש ומוסתרות (Ibf7b0)
  • נוסף קבוע התוסף EGL_ANDROID_get_native_client_buffer כדי לבדוק אם מכשיר Android תומך בייבוא של מופעי HardwareBuffer לאובייקטים של EGLClientBuffer שאפשר להשתמש בהם כמופע של EGLImage. (Iad767)
  • הוספת הערה @JvmDefaultWithCompatibility (I8f206)

גרסה ‎1.0.0-alpha02

9 בנובמבר 2022

androidx.graphics:graphics-core:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • תוקנה בעיה שגרמה להשמטת ההערה RequiresApi עבור addTransactionCommitListener, שהוצגה ב-Android S ‏ (I0a035)
  • עדכנו את onDraw<Front/Double> Buffer callbacks כדי לספק מטריצת טרנספורמציה שצרכנים יכולים להעביר ל-vertex shaders שלהם בנוסף לרוחב ולגובה הנוכחיים של המאגר. הצרכנים אחראים לשימוש בפרמטרים האלה כדי לבצע סיבוב מראש של קוד הרינדור של OpenGL. (I82f9e)

תיקוני באגים

  • שיפור השהיית הגרפיקה על ידי סיבוב מראש של מאגרי נתונים זמניים לפני הנפקת עסקאות SurfaceControl.
  • תוקנה בעיה שבה ביומני השגיאות הוצגה שגיאה 300d ‏ (EGL_BAD_SURFACE).
  • תוקנה הבעיה שבה GLFrontBufferedRenderer היה לא תקין אחרי שהופעלה מחדש הפעילות התואמת שבה נעשה בו שימוש.
  • שיפור התמיכה באמולטורים ובמכשירי ChromeOS.
  • נפתרה בעיה שגרמה לכך שהשכבה הקדמית עם המאגר נעלמה מוקדם מדי.

גרסה ‎1.0.0-alpha01

24 באוקטובר 2022

androidx.graphics:graphics-core:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • הגרסה הראשונה של ספריית AndroidX לליבת הגרפיקה. הם כוללים ממשקי API לתמיכה בתרחישי שימוש עם זמן אחזור קצר, כמו קלט של עט סטיילוס. בנוסף, יש כמה ממשקי API מסייעים לשימוש ב-OpenGL.

שינויים ב-API

  • הוספנו את GLFrontBufferedRenderer כדי לעזור בטעינה של נתונים ממאגרים זמניים מרובים ובהצגה של נתונים ממאגרים זמניים קדמיים, וכך להשיג גם זמן אחזור נמוך וגם פלט באיכות גבוהה.
  • הגרסה כוללת את GLRenderer API שמסייע בעיבוד OpenGL עבור ספקי Surface שונים, כמו SurfaceView,‏ TextureView ועוד.