الرسومات

  
استفِد من مزايا الرسومات في إصدارات متعدّدة لنظام Android

يعرض هذا الجدول جميع العناصر في مجموعة androidx.graphics.

العناصر الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
وحدة الرسومات - 1.0.0-rc01 - -
مسار الرسومات 1.0.0 - - -
أشكال الرسومات - - - 1.0.0-alpha05
تم إجراء آخر تعديل لهذه المكتبة في: 17 نيسان (أبريل) 2024

إعلان التبعيات

لإضافة تبعية للرسومات، يجب إضافة مستودع Google Maven إلى مشروعك. لمزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.

أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle لتطبيقك أو الوحدة الخاصة بك:

رائع

dependencies {
    implementation "androidx.graphics:graphics-core:1.0.0-rc01"
    implementation "androidx.graphics:graphics-path:1.0.0"
    implementation "androidx.graphics:graphics-shapes:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.graphics:graphics-core:1.0.0-rc01")
    implementation("androidx.graphics:graphics-path:1.0.0")
    implementation("androidx.graphics:graphics-shapes:1.0.0-alpha05")
}

لمزيد من المعلومات حول التبعيات، انظر إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء عدد جديد

راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.

ما مِن ملاحظات إصدار لهذا العنصر.

الإصدار 1.0 لأشكال الرسومات

الإصدار 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() جديدتَين لإنشاء هذه الأشكال المستديرة والمميّزة بنجمة بسهولة. هناك أيضًا واجهات برمجة تطبيقات جديدة لحساب الحدود الدقيقة المطلوبة للشكل (كانت الحدود السابقة مجرد تقدير يستند إلى ارتساء منحنى منحنى بيزييه ونقاط التحكم الأساسية)، بالإضافة إلى الحد الأقصى للحدود الممكنة، التي يمكن أن تكون مفيدة في تحديد حجم الحاوية التي تحتفظ بها إذا كانت سيتم تدويرها داخل تلك الحاوية. (I71827)

تغييرات واجهة برمجة التطبيقات

  • الآن، مزيد من الخيارات لاسترداد الحدود الدقيقة والأقصى. (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 على هذه الالتزامات.

الميزات الجديدة

  • يتضمّن هذا الإصدار عدة تغييرات في واجهة برمجة التطبيقات، بالإضافة إلى إصلاحات للأخطاء.
  • تؤدي العديد من تغييرات واجهة برمجة التطبيقات إلى جعل مكتبة الأشكال متوافقة مع نظام KMP. ويسهِّل ذلك الاتصال من رمز غير متوافق مع Android (مثل رمز ComposeAllowed غير المتوافق مع Android). على سبيل المثال، لا تتوفّر أنواع Android في واجهة برمجة التطبيقات، مثل أنواع PointF والمصفوفة والمسار السابقة.
  • تم أيضًا إجراء العديد من التغييرات على واجهات برمجة التطبيقات وتنفيذها لأسباب تتعلق بالأداء، وتحديدًا لتقليل تخصيص العناصر (وجمع العناصر). على سبيل المثال، يتجنّب الانتقال من PointF إلى معلَمات Float منفصلة تخصيص العديد من بُنى PointF المؤقتة للاحتفاظ بتلك الرؤوس.

تغييرات واجهة برمجة التطبيقات

  • تم استبدال Morph.asMutableCubics بدالة للتكرار على MutableCubics. تم تغيير الواجهة الوظيفية لـ PointTransformer، ويتم الآن استخدام الإحداثيات x وy لـ Point وعرض TransformedResult (الذي تم إنشاؤه باستخدام إحداثيات x وy التي تم تحويلها) (I6719e)
  • تمت إزالة الدالة الإنشائية العامة Cubic وجعلها تعمل على الإعدادات الأصلية. (I409ce)
  • إضافة واجهات برمجة تطبيقات للرسم والتحوّل خاصة بنظام التشغيل 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 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة دالة RoundedPolygon.rectangle() جديدة (I78e7e، b/280322189)
  • يمكن الآن إلغاء الكتابة بالأحرف اللاتينية الكبيرة في دالّتَي النجوم والدوائر، واستدعيتهما من خلال الكائن المصاحب لـ 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 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تم دمج الفئة العليا للمضلّع مع فئتها الفرعية، RoundedPolygon؛ أصبحت جميع المضلّعات الآن [اختياريًا] مضلّعات مستديرة.
  • تأخذ دالة "النجمة" (التي ما زالت تعرض RoundedPolygon كما في السابق) القيمة innerRadius، بدلاً من مَعلمة innerRadiusRatio السابقة. ويكون هذا في نفس الوحدات مثل معلمة radius الحالية، مما يجعل الأمور أكثر بساطة وأكثر اتساقًا. بالإضافة إلى ذلك، تمت إعادة تسمية المعلَمة 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 الاختيارية لتحديد نصف قطر التقريب ومَعلمات التجانس للزوايا، ما يؤدي إلى إنشاء أشكال مضلّعة بزوايا مستديرة.
  • استخدِم واجهة برمجة التطبيقات Morph(Polygon, Polygon) الجديدة لكي يتم تلقائيًا احتساب شكل "التحوّل" الذي يمكن ضبط مستوى تقدُّمه من 0 إلى 1 لتحريك شكلَي البداية والنهاية. وحرّك هذا التقدم بمرور الوقت، وارسم النتيجة على كل إطار، لإنشاء رسم متحرك سلس بين هذه الأشكال الدائرية الجديدة.

الإصدار 1.0 من مسار الرسومات

الإصدار 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 على واجهة برمجة التطبيقات < 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 هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تمت إزالة الاستخدامات التجريبية لواجهة برمجة التطبيقات isAtLeastU() (Ie9117، b/289269026)

إصلاح الأخطاء

  • إصلاحات مختلفة وتحسينات في الأداء، بما في ذلك كيفية تعامل المكتبة مع الكتب المخروطية

الإصدار 1.0.0-alpha02

7 حزيران (يونيو) 2023

تم طرح "androidx.graphics:graphics-path:1.0.0-alpha02". تم تطوير هذا الإصدار في فرع داخلي.

الميزات الجديدة

  • تم إصلاح مشكلة في التحقّق من إصدار النظام الأساسي الداخلي، ما تسبّب في حدوث مشاكل عند تشغيل معاينات الإصدار 14 من نظام التشغيل Android (قد يتعذّر التحقّق من الإصدار، إلا أنّ آلية تنفيذ الإجراءات في الإصدارات السابقة لا تعمل بشكل صحيح على الإصدار 14 على وجه الخصوص).

الإصدار 1.0.0-alpha01

22 آذار (مارس) 2023

تم طرح "androidx.graphics:graphics-path:1.0.0-alpha01". يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.

الميزات الجديدة

  • تتيح هذه المكتبة الجديدة إجراء طلبات بحث عن بيانات المسار من خلال واجهة برمجة تطبيقات PathIterator الجديدة. وباستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصلين التكرار خلال جميع أقسام كائن "المسار" لتحديد العملية والبيانات لتلك المقاطع.
  • تستخدم المكتبة واجهات برمجة تطبيقات مشابهة تم تقديمها في معاينة نظام التشغيل Android 14، إلا أنّ إصدار AndroidX من واجهة برمجة التطبيقات هذا متوافق أيضًا مع الإصدارات القديمة إلى واجهة برمجة التطبيقات 21.

الإصدار 1.0 الأساسي للرسومات

الإصدار 1.0.0-rc01

17 نيسان (أبريل) 2024

تم طرح "androidx.graphics:graphics-core:1.0.0-rc01". تم تطوير هذا الإصدار في فرع داخلي.

إصلاح الأخطاء

  • تم إصلاح المشكلة التي تؤدي إلى احتمال الإغلاق المزدوج لأدوات وصف الملفات في CanvasBufferedRendererAPI على بعض أجهزة Android التي تعمل بالإصدار 14 من نظام التشغيل Android.
  • تم إصلاح المشكلة التي لا يحذف فيها FrameBuffer مثيلات الإطارات العازلة للإطارات بشكل صحيح.

الإصدار 1.0.0-beta01

13 كانون الأول (ديسمبر) 2023

تم طرح "androidx.graphics:graphics-core:1.0.0-beta01". يتضمّن الإصدار 1.0.0-beta01 هذه الالتزامات.

الميزات الجديدة

  • تم تقديم واجهة برمجة تطبيقات LowLatencyCanvasView جديدة لإتاحة العرض بوقت استجابة سريع باستخدام واجهات برمجة التطبيقات للرسومات الثنائية الأبعاد (لوحة الرسم + الطلاء) في Android ضمن هيكل "العرض" الهرمي.
  • تم تقديم واجهة برمجة تطبيقات CanvasBufferedRenderer لإتاحة عرض "لوحة الرسم" المسرّعة بالأجهزة على HardwareBuffer. ويمكن استخدامها لرسم جزء من واجهة المستخدم في مخزن مؤقت يمكن تحويله إلى صورة نقطية باستخدام واجهة برمجة التطبيقات Bitmap.wrapHardwareBuffer.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل واجهة برمجة التطبيقات CanvasBufferRenderer#releaseBuffer لتتضمّن معلَمة سياج اختيارية. تم تعديل المستندات لوصف وقت إرجاع "RenderResult#fence". (If1ea7)
  • يمكنك إضافة طريقة draw إلى RenderRequest لإتاحة الاستفادة من الكوروتينات لجدولة طلبات الرسم. تمت إعادة تسمية طريقة الرسم السابقة التي استهلكت منفذًا تنفيذيًا إلى drawAsync. تمت إعادة هيكلة طريقة isClosed() إلى خاصية. (I5bff6)
  • تم الكشف عن معلَمة تنسيق المخزن المؤقت CanvasFrontBufferRenderer ليتم تعيينها مباشرةً إلى CanvasBufferedRenderer.Builder#setBufferFormat (I0f272)
  • تم إنشاء واجهة برمجة تطبيقات CanvasBufferedRenderer لمعالجة عرض اللوحات المسرّعة بالأجهزة في HardwareBuffer. يوفّر ذلك إمكانية تنفيذ خلفية في الإصدار Android Q إلى جانب ضبط عمق سلسلة التبديل في HardwareBuffers. لا تزال إعدادات "ColorSpace" مقتصرة على نظام التشغيل Android U+ ، إلا أنّ عملية تنفيذ السياسة المتوافقة توفّر سلوكًا بدون تشغيل نيابةً عن المطوّرين. (I9b1d8)
  • أضِف واجهات برمجة التطبيقات setFrameRate/clearFrameRate إلى SurfaceControlCompat.Transaction للتحكّم في عدد اللقطات في الثانية إلى جانب استراتيجية التغيير لعمليات الانتقال السلسة أو التلقائية. (I6045c)
  • تم خفض مستوى واجهة برمجة التطبيقات المطلوب لنظام التشغيل setDataSpace إلى Android Q من Android T. (I59c34)
  • تمت إضافة ميزة معاودة الاتصال بـ onBufferReleased إلى واجهة برمجة التطبيقات GLFrameBufferRenderer لمنح المستهلكين فرصة حذف حالة التخزين المؤقت عند عدم توفُّر مخزن مؤقت (I8a4e2).
  • يمكنك إنشاء LowLatencyCanvasView للتوافق مع حالة استخدام بسيطة لعرض المحتوى بوقت استجابة سريع تتم مزامنته مع عرض التدرج الهرمي للعرض. يحدّ ذلك من التعقيدات المرتبطة بإدارة SurfaceView من خلال إدارة مثيل SurfaceView الذي تتم ترجمته خارج الشاشة أو عند عرضها للعرض المتزامن مع وقت الاستجابة المنخفض على التوالي. (I9253b)
  • تمت إضافة إمكانية ضبط إعدادات colorspace إلى واجهة برمجة التطبيقات CanvasFrontBufferedRenderer. تم تحديث استدعاءات الاستدعاء المتعدد التخزين المؤقت لتضمين 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)

تغييرات واجهة برمجة التطبيقات

  • تمت إضافة مَعلمات العرض والارتفاع إلى العديد من واجهات برمجة التطبيقات لمعاودة الاتصال إلى أبعاد الممر من SurfaceHolder#Callbacks. (I7f9fc)
  • تمت إضافة واجهة برمجة تطبيقات واضحة لمحو كل من الطبقات الأمامية والطبقات المتعددة المخزنة مؤقتًا. (Ic1f95)
  • تمت إضافة إمكانية ضبط نوع المخزن المؤقت الأساسي لسلاسل التبديل المستخدَمة في GLFrontBufferedRenderer. (I07a13)
  • تمت إضافة سمات لغة kotlin للقيم على GLFrameBufferRenderer، وتعليق توضيحي واحد (IntRange) للحدّ الأقصى لإدخالات المخزن المؤقت، والتعليقات التوضيحية HardwareBufferFormart وHardwareBufferUsage للسمة setFormat/setUsage على التوالي. (Ief89e)
  • تم تعديل واجهة برمجة التطبيقات setBuffer API في معاملات SurfaceControl لتوفير حدود للإصدار. (Ice1bb)
  • تمت إضافة واجهات برمجة التطبيقات 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 الحالية.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل واجهة برمجة التطبيقات SurfaceControlCompat.Transaction#setBuffer للسماح لمثيلات HardwareBuffer القابلة للتعديل بمطابقة واجهة برمجة التطبيقات للنظام الأساسي المقابل (I173d7).
  • عليك إعادة تسمية الطرق التي تشير إلى العرض المخزن المؤقت المزدوج إلى العرض "متعدد التخزين المؤقت" بدلاً من ذلك، لأنّ سلسلة تبديل النسخ الاحتياطي قد تحتوي على أكثر من موردَين احتياطيَين. (I830d7)
  • أنشِئ CanvasFrontBufferedRenderer API لتفعيل ميزة 3ps للاستفادة من نظام عرض أمامي مخزَّن مؤقتًا باستخدام واجهة برمجة تطبيقات Canvas. (Ibfc29)

إصلاح الأخطاء

  • تم إصلاح المشكلة التي تمنع GLFrontBufferedRenderer من عرض المحتوى بعد استئناف النشاط المقابل.
  • تم إصلاح المشكلة التي كانت تؤدي إلى إزالة المحتوى المخزَّن مؤقتًا من الأمام قبل أوانه.
  • تم إصلاح المشكلة المتمثلة في عدم إزالة SurfaceHolder.Callbacks بعد إصدار واجهات برمجة تطبيقات للرسومات ذات وقت الاستجابة المنخفض.

الإصدار 1.0.0-alpha03

22 آذار (مارس) 2023

تم طرح "androidx.graphics:graphics-core:1.0.0-alpha03". يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل تنفيذ معاودة الاتصال GLFrontBufferedRenderer لتوفير عنصر BufferInfo يحتوي على عرض/ارتفاع المخزن المؤقت بالإضافة إلى معرّف المخزن المؤقت للإطارات الذي يمكن استخدامه لإعادة استهداف الوجهة الأصلية بعد العرض على مخزن مؤقت متوسّط للخدش. (I7fe20)
  • تم دمج عملية إنشاء "SyncFence" مع طريقة إنشاء الإعدادات الأصلية الثابتة في SyncFenceCompat.
  • تمت إزالة طريقة التوافق العام لـ eglDupNativeFenceFDANDROID لصالح طريقة SyncFenceCompat الأصلية لإنشاء SyncFence. يهدف هذا الإجراء إلى التأكّد من أنّ جميع مساحات عرض واجهة برمجة التطبيقات تتلقّى تنفيذ SyncFence الصحيح بغض النظر عن مستوى واجهة برمجة التطبيقات. (I849bb)
  • تمت إضافة مستندات حول FrameBufferRenderer وSyncStrategy.
    • تم نقل FrameBufferRenderer + FrameBuffer + FrameBufferPool إلى حزمة androidx.graphics.opengl.
    • تم نقل SyncStrategy إلى الطرد androidx.graphics.opengl
    • تم تعديل RenderCallback#onDraw مستندات.
    • مستندات معدّلة حول RenderCallback#obtainFrameBuffer المسؤول عن طلب البيانات من واجهة برمجة التطبيقات FrameBuffer.close
    • تم تعديل onDrawComplete للإشارة إلى أنّ المستهلكين مسؤولون عن إرسال المحتوى لعرضه.
    • تم نقل SyncFence واجهة/فئات توافق إلى حزمة androidx.hardware لمحاكاة إطار العمل.
    • تمت إعادة تسمية واجهة برمجة التطبيقات SyncFence لتصبح SyncFenceV19، وجعلها "خاصة" لدمج الاستخدامات مع SyncFenceCompat والتي تستفيد من واجهة برمجة تطبيقات SyncFence لإطار العمل كلما أمكن ذلك. (I5149c)
  • تمت إضافة GLFrontBufferedRenderer#cancel وGLFrontBufferedRenderer#execute طريقة. يكون الإجراء الأول مفيدًا في سيناريوهات رفض راحة اليد حيث يجب إلغاء العرض على المخزن المؤقت الأمامي وإخفاء المخزن المؤقت الأمامي. ويكون الإجراء الثاني مفيدًا في سيناريوهات معالجة العناصر في سلسلة GL بدون الحاجة إلى جدولة العرض. (If0b7f)
  • إضافة واجهة برمجة التطبيقات (API) ليتم عرضها مباشرةً في الطبقة ذات التخزين المؤقت المزدوج. ويساعد ذلك في إعادة عرض مشهد بعد استئنافه، كما يمنح المستهلكين فرصة لتحديد الوقت المناسب للاستفادة بشكل انتقائي من العرض الأمامي المخزَّن مؤقتًا استنادًا إلى المشهد المطلوب للعرض. (Ied56c)
  • تمت إضافة واجهة برمجة تطبيقات جديدة إلى SurfaceControlCompat.Builder لإتاحة ضبط العنصر الرئيسي SurfaceControl من مثيل SurfaceControl آخر، بالإضافة إلى الآلية الحالية من خلال SurfaceView. (I1d1b6)
  • المزيد من قابلية القيم الفارغة للدوال المخفية التي تم إيقافها نهائيًا (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 على هذه الالتزامات.

تغييرات واجهة برمجة التطبيقات

  • تم إصلاح تعليق RequiresApi التوضيحي غير المتوفّر للسمة addTransactionCommitListener والذي تم تقديمه في Android S (I0a035).
  • تم تعديل استدعاءات المخزن المؤقت onDraw<Front/Double> لتوفير مصفوفة تحويل يمكن للمستهلكين تمريرها إلى مظلات الرأس بالإضافة إلى عرض/ارتفاع المخزن المؤقت الحالي. ويتحمّل المستهلكون مسؤولية استخدام هذه المَعلمات لإجراء تدوير مسبق لرمز عرض 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 الأساسية للرسومات. ويتضمّن ذلك واجهات برمجة التطبيقات التي تتيح استخدام وقت الاستجابة السريع، مثل إدخال قلم الشاشة. يقدم هذا أيضًا بعض واجهات برمجة التطبيقات المساعدة لاستخدام OpenGL.

تغييرات واجهة برمجة التطبيقات

  • يتم تقديم GLFrontBufferedRenderer للمساعدة في العرض الأمامي والعرض المؤقت المتعدد من أجل تحقيق كل من وقت الاستجابة السريع ونتائج العرض العالية الجودة.
  • توفّر واجهة برمجة التطبيقات GLRenderer API للمساعدة في عرض OpenGL على مختلف موفّري مساحات العرض، مثل SurfaceView وTextureView وغيرهم.