גרפיקה
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.graphics
.
פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
graphics-core | 1.0.3 | - | - | - |
graphics-path | 1.0.1 | - | - | 1.1.0-alpha01 |
graphics-shapes | 1.0.1 | 1.1.0-rc01 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Graphics, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" implementation "androidx.graphics:graphics-path:1.1.0-alpha01" implementation "androidx.graphics:graphics-shapes:1.1.0-rc01" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.3") implementation("androidx.graphics:graphics-path:1.1.0-alpha01") implementation("androidx.graphics:graphics-shapes:1.1.0-rc01") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות של בנייה.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
אין הערות לגבי הגרסה של הארטיפקט הזה.
גרפיקה גרסה 1.1
גרסה 1.1.0-beta01
30 ביולי 2025
androidx.graphics:graphics-*: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-*: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) - הוספנו תמיכה ב-
watchosDeviceArm64
KMP target וב-target 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 כדי ליצור אנימציה בין צורת ההתחלה לצורת הסיום. מנפישים את ההתקדמות הזו לאורך זמן, ומשרטטים את התוצאה בכל פריים כדי ליצור אנימציה חלקה בין הצורות המעוגלות החדשות האלה.
נתיב גרפיקה גרסה 1.0
גרסה 1.1.0-rc01
10 בספטמבר 2025
androidx.graphics:graphics-*:1.1.0-rc01
משוחרר. גרסה 1.1.0-rc01 מכילה את הקומטים האלה.
גרסה 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
השינויים בגרסה הזו נועדו לצמצם את גודל הספרייה, שהיה גדול מהנדרש בגלל הנחות שנעשו על ידי קוד מקורי.
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.
גרסה 1.0 של Graphics Core
גרסה 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 באמצעות ה-APIBitmap.wrapHardwareBuffer
.
שינויים ב-API
- ה-API
CanvasBufferRenderer#releaseBuffer
עודכן כך שיכלול פרמטר אופציונלי של גדר וירטואלית. עדכנו את התיעוד כדי לתאר מתי מוחזרת התוצאהRenderResult#fence
. (If1ea7) - הוספת שיטה
draw
ל-RenderRequest
כדי לתמוך בשימוש בקורוטינות לתזמון בקשות לציור. שינינו את השם של שיטת הציור הקודמת שצרכה רכיב Executor ל-drawAsync
. השיטהisClosed()
עברה רפקטורינג והפכה למאפיין. (I5bff6) - הוספנו פרמטר של פורמט מאגר ל-
CanvasFrontBufferRenderer
כדי למפות ישירות ל-CanvasBufferedRenderer.Builder#setBufferFormat
(I0f272) - נוצר API
CanvasBufferedRenderer
לטיפול בעיבוד מואץ של חומרה של קנבס לתוך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)
onBufferReleased
ל-APIGLFrameBufferRenderer
כדי לתת לצרכנים הזדמנות לנקות את הסטטוס כשמאגר נתונים זמני לא מוצג יותר (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 שונים של קריאה חוזרת כדי להעביר מידות מ-
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
שניתן להגדיר כ-nullable, כדי לשקף את ה-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
- עדכנו את ההטמעה של הקריאה החוזרת
GLFrontBufferedRenderer
כדי לספק אובייקטBufferInfo
שמכיל את הרוחב והגובה של המאגר, יחד עם מזהה של מאגר מסגרות שאפשר להשתמש בו כדי לשנות את היעד המקורי אחרי העיבוד למאגר זמני. (I7fe20) - איחדנו את יצירת
SyncFence
לשיטת יצירה סטטית ב-SyncFenceCompat
. - הוסרה שיטת תאימות ציבורית ל-
eglDupNativeFenceFDANDROID
לטובת שיטת factory ל-SyncFenceCompat
ליצירת SyncFence. הסיבה לכך היא לוודא שכל פלטפורמות ה-API יקבלו את ההטמעה הנכונה שלSyncFence
, ללא קשר לרמת ה-API. (I849bb) - נוספה תיעוד ל-
FrameBufferRenderer
ול-SyncStrategy
.- הועברו
FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
לחבילהandroidx.graphics.opengl
- הועבר אל חבילת
androidx.graphics.opengl
SyncStrategy
RenderCallback#onDraw
מסמכים עודכנו- עדכנו את התיעוד של
RenderCallback#obtainFrameBuffer
שבו המטמיע של ה-API אחראי להפעיל אתFrameBuffer.close
- עדכון של
onDrawComplete
כדי לציין שהצרכנים אחראים לשליחת התוכן להצגה - הועברו
SyncFence
ממשקי תאימות/מחלקות תאימות לחבילהandroidx.hardware
כדי לשקף את המסגרת - שינינו את השם של
SyncFence
API ל-SyncFenceV19
והגדרנו אותו כפרטי כדי לאחד את השימושים ב-SyncFenceCompat
, שמסתמך עלSyncFence
API של המסגרת בכל מקום שאפשר. (I5149c)
- הועברו
- הוספנו את השיטות
GLFrontBufferedRenderer#cancel
ו-GLFrontBufferedRenderer#execute
. האפשרות הראשונה שימושית בתרחישים של דחיית מגע כף היד, שבהם צריך לבטל את הרינדור למאגר הקדמי ולהסתיר אותו. האפשרות השנייה שימושית בתרחישים שבהם רוצים לבצע מניפולציה באובייקטים בשרשור GL בלי לתזמן עיבוד. (If0b7f) - הוספת API להצגה ישירה בשכבה עם מאגר כפול. התכונה הזו עוזרת לעבד מחדש סצנה אחרי הפסקה, וגם מאפשרת לצרכנים לקבוע באופן סלקטיבי מתי להשתמש בעיבוד דינמי של מאגר קדמי בהתבסס על הסצנה הרצויה לעיבוד. (Ied56c)
- הוספנו ל-
SurfaceControlCompat.Builder
API חדש לתמיכה בהגדרתSurfaceControl
האב ממופע אחר שלSurfaceControl
, בנוסף למנגנון הקיים מ-SurfaceView
. (I1d1b6) - הוספת אפשרות להחזרת ערך null לסוגים נוספים של פונקציות שהוצאו משימוש ומוסתרות (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
ועוד.