גרפיקה
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.graphics.
| פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| ליבת גרפיקה | 1.0.4 | - | - | - |
| graphics-path | 1.0.1 | - | 1.1.0-beta01 | - |
| graphics-shapes | 1.1.0 | - | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Graphics, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.graphics:graphics-core:1.0.4" implementation "androidx.graphics:graphics-path:1.1.0-beta01" 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-beta01") 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 מתבצעים פעם אחת, ואפשר לבצע אותם באמצעות האפליקציה החדשה. קוד Production צריך לבצע רק את שלב 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- משתמשים במאפיין החדש
- הצגת ישויות של פוליגונים וסוגי ישויות. עכשיו אפשר ליצור עוד
RoundedPolygonsכלליים באמצעות בנאי הבסיס שמקבלList<Features>. התכונות הן בעיקר רשימה של עקומות בזייה מעוקבות, אבל הן מתויגות כדי לעזור לאלגוריתם המורפינג להתאים בין הצורות של ההתחלה והסיום (פינות קמורות ממופות לפינות קמורות ופינות קעורות ממופות לפינות קעורות). (I61e76), (I1fc5c) - הוספת תמיכה ב-
watchosDeviceArm64KMP 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.1 של נתיב הגרפיקה
גרסה 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 מכילה את השמירות האלה.
תכונות חדשות
- הספרייה החדשה הזו מאפשרת להריץ שאילתות על נתוני נתיב באמצעות
PathIteratorAPI חדש. באמצעות ה-API הזה, המתקשרים יכולים לחזור על כל הפלחים של אובייקט Path כדי לקבוע את הפעולה והנתונים של הפלחים האלה. - הספרייה משתמשת בממשקי API דומים שהוצגו בגרסת הטרום-הפצה של Android 14, אבל גרסת AndroidX של ה-API הזו פועלת גם בגרסאות עד API 21.
גרסה 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 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו
LowLatencyCanvasViewAPI חדש לתמיכה בעיבוד עם זמן אחזור נמוך באמצעות ממשקי ה-API של גרפיקה דו-ממדית של Android (Canvas + Paint) בהיררכיית התצוגה. - הוספנו את API
CanvasBufferedRendererכדי לתמוך בעיבוד Canvas מואץ חומרה ל-HardwareBuffer. אפשר להשתמש בזה כדי לצייר חלק מממשק משתמש לתוך מאגר שאפשר להמיר ל-Bitmap באמצעות ה-APIBitmap.wrapHardwareBuffer.
שינויים ב-API
- עדכנו את
CanvasBufferRenderer#releaseBufferAPI כך שיכלול פרמטר אופציונלי של גדר וירטואלית. עדכנו את המסמכים כדי לתאר מתי מוחזרת התוצאה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) - הוספנו תמיכה בהגדרת מרחב צבעים ל-
CanvasFrontBufferedRendererAPI. עודכנו קריאות חוזרות (Callback) עם מספר מאגרי נתונים זמניים כך שיכללו גם את מאגר הנתונים הזמני האחוריSurfaceControl(I24bd9)
גרסה 1.0.0-alpha05
6 בספטמבר 2023
androidx.graphics:graphics-core:1.0.0-alpha05 מופץ. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.
תכונות חדשות
- השקנו את
GLFrameBufferRendererAPI. ההגדרה הזו מספקת שילוב של יחסי תלות ב-OpenGL, הגדרה של שרשרת החלפה, פורמטים של פיקסלים והגדרה שלSurfaceControl. (Ic775b)
שינויים ב-API
- הוספנו פרמטרים של רוחב וגובה לממשקי API שונים של קריאה חוזרת כדי להעביר מידות מ-
SurfaceHolder#Callbacks. (I7f9fc) - נוסף API לניקוי שכבות מרובות וגם שכבות קדמיות. (Ic1f95)
- הוספנו תמיכה בהגדרת סוג המאגר הבסיסי של שרשראות החלפה שמשמשות ב-
GLFrontBufferedRenderer. (I07a13) - הוספנו מאפייני Kotlin לשיטות get בהערה
GLFrameBufferRenderer, בהערהIntRangeלמספר המקסימלי של רשומות במאגר, ובהערותHardwareBufferFormartו-HardwareBufferUsageל-setFormat/setUsageבהתאמה. (Ief89e) - בוצע עדכון של
setBufferAPI בעסקאות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.CanvasAPI לצד הטמעה קיימת של OpenGL
שינויים ב-API
- בוצע עדכון ב-
SurfaceControlCompat.Transaction#setBufferAPI כדי לאפשר מקרים שלHardwareBufferשניתן להגדיר כ-nullable, כך שישקפו את ה-API המתאים של הפלטפורמה (I173d7) - כדאי לשנות את השם של שיטות שמתייחסות לרינדור עם מאגר נתונים זמני כפול לרינדור עם מאגר נתונים זמני מרובה, כי יכול להיות ששרשרת ההחלפה של הגיבוי תכיל יותר מ-2 מאגרי נתונים זמניים. (I830d7)
- Create
CanvasFrontBufferedRendererAPI כדי לאפשר לצדדים שלישיים להשתמש במערכת עיבוד עם מאגר קדמי באמצעות 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לשיטת פקטורי (factory) סטטית ב-SyncFenceCompat. - הוסרה שיטת תאימות ציבורית ל-
eglDupNativeFenceFDANDROIDלטובת שיטת factory ל-SyncFenceCompatליצירת SyncFence. הסיבה לכך היא לוודא שכל ממשקי ה-API יקבלו את ההטמעה הנכונה שלSyncFence, ללא קשר לרמת ה-API. (I849bb) - נוספה תיעוד ל-
FrameBufferRendererול-SyncStrategy.- הועברו
FrameBufferRenderer+FrameBuffer+FrameBufferPoolלחבילהandroidx.graphics.opengl - הועבר אל חבילת
androidx.graphics.openglSyncStrategy RenderCallback#onDrawמסמכים עודכנו- עדכון המסמכים של
RenderCallback#obtainFrameBufferשבעל האתר שאחראי להטמעה של ה-API צריך להפעילFrameBuffer.close - עדכון של
onDrawCompleteכדי לציין שהצרכנים אחראים לשליחת התוכן להצגה - הועברו
SyncFenceממשקי תאימות/מחלקות תאימות לחבילהandroidx.hardwareכדי לשקף את המסגרת - שינינו את השם של
SyncFenceAPI ל-SyncFenceV19והגדרנו אותו כפרטי כדי לאחד את השימושים ב-SyncFenceCompat, שמסתמך עלSyncFenceAPI של המסגרת בכל מקום שאפשר. (I5149c)
- הועברו
- נוספו ה-methods
GLFrontBufferedRenderer#cancelו-GLFrontBufferedRenderer#execute. האפשרות הראשונה שימושית בתרחישים של מניעת הפעלה בטעות של מסך המגע, שבהם צריך לבטל את הרינדור למאגר הקדמי ולהסתיר אותו. האפשרות השנייה שימושית בתרחישים שבהם רוצים לשנות אובייקטים בשרשור GL בלי לתזמן עיבוד. (If0b7f) - הוספת API לעיבוד ישירות לשכבה עם מאגר כפול. התכונה הזו עוזרת לעבד מחדש סצנה אחרי הפסקה, וגם מאפשרת לצרכנים לקבוע באופן סלקטיבי מתי להשתמש בעיבוד דינמי של מאגר קדמי על סמך הסצנה הרצויה לעיבוד. (Ied56c)
- נוסף API חדש ל-
SurfaceControlCompat.Builderכדי לתמוך בהגדרת ה-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כדי לעזור בעיבוד של חזיתות ושל מאגרי נתונים זמניים מרובים, וכך להשיג גם זמן אחזור נמוך וגם פלט עיבוד באיכות גבוהה. - הוספנו את
GLRendererAPI כדי לסייע בעיבוד OpenGL עבור ספקי Surface שונים, כמוSurfaceView,TextureViewועוד.