المجموعة

  
تقليل تأثير الذاكرة للمجموعات الصغيرة الحالية والجديدة
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
13 تشرين الثاني (نوفمبر) 2024 1.4.5 - - 1.5.0-alpha06

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

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

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

رائع

dependencies {
    def collection_version = "1.4.5"
    implementation "androidx.collection:collection:$collection_version"
}

Kotlin

dependencies {
    val collection_version = "1.4.5"
    implementation("androidx.collection:collection:$collection_version")
}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

ملاحظات

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

إنشاء مشكلة جديدة

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

الإصدار 1.5

الإصدار 1.5.0-alpha06

13 تشرين الثاني (نوفمبر) 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha06. يتضمّن الإصدار 1.5.0-alpha06 عمليات الربط هذه.

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

  • تم إصلاح عطل يمكن أن يحدث في SieveCache وOrderedScatterSet عند إضافة العديد من العناصر التي تؤدي إلى حدوث تعارضات متكررة للمفاتيح. (Iaaf3d، b/375607736)
  • أضِف هدف wasm إلى مكتبة المجموعة. (I66fe3، b/352722444)

الإصدار 1.5.0-alpha05

30 تشرين الأول (أكتوبر) 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha05. يتضمّن الإصدار 1.5.0-alpha05 عمليات الربط هذه.

الإصدار 1.5.0-alpha04

16 أكتوبر 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha04. يتضمّن الإصدار 1.5.0-alpha04 عمليات الربط هذه.

الإصدار 1.5.0-alpha03

2 أكتوبر 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha03. يتضمّن الإصدار 1.5.0-alpha03 عمليات الربط هذه.

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

  • تحديث إصدار Kotlin إلى 1.9 (I1a14c)

المساهمة الخارجية

  • إعادة توجيه contains إلى containsKey شكرًا يا جاك وارتون. (I9362b)
  • إضافة أدوات إنشاء حاويات للمجموعات المخصّصة للسلّسلات الرقمية شكرًا يا جاك وارتون. (I13179)

الإصدار 1.5.0-alpha02

18 أيلول (سبتمبر) 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha02. يتضمّن الإصدار 1.5.0-alpha02 عمليات الربط هذه.

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

الإصدار 1.5.0-alpha01

4 أيلول (سبتمبر) 2024

تم إصدار androidx.collection:collection-*:1.5.0-alpha01. يحتوي الإصدار 1.5.0-alpha01 على عمليات الربط هذه.

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

  • OrderedScatterSet هي مجموعة جديدة مرتبة وبدون تخصيص (Ic4178).
  • SieveCache هو بديل جديد لا يتطلب تخصيصًا لـ LruCache ويقدّم خصائص أفضل لنسبة النتائج الناجحة. (I50a17)
  • عرَض التمثيل الداخلي لـ packedValue لكلّ من IntIntPair وFloatFloatPair. (Ifeb75، b/331853566)
  • إضافة إذن الوصول إلى صفيف المحتوى في مجموعات القوائم (I899d5، b/333903173)
  • أضِف DoubleList، وهي بنية بيانات تشبه القائمة ومحسَّنة للقيم المزدوجة. (Ia10d1، b/315127635)

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

  • سيتم نقل مكتبة Collections لاستهداف Kotlin 1.9 (I0782f).
  • تحسين العديد من المجموعات لتكون أكثر فعالية (Ic0566)

الإصدار 1.4

الإصدار 1.4.5

30 تشرين الأول (أكتوبر) 2024

تم إصدار androidx.collection:collection-*:1.4.5. يحتوي الإصدار 1.4.5 على عمليات الربط هذه.

الإصدار 1.4.4

18 أيلول (سبتمبر) 2024

تم إصدار androidx.collection:collection-*:1.4.4. يحتوي الإصدار 1.4.4 على عمليات الربط هذه.

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

  • حلّ ArrayIndexOutOfBounds عند ترتيب مجموعة فارغة (I65245)

الإصدار 1.4.3

7 آب (أغسطس) 2024

تم إصدار androidx.collection:collection-*:1.4.3. يحتوي الإصدار 1.4.3 على عمليات الربط هذه.

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

  • تم إصلاح مشكلة تلف يمكن أن تحدث في ScatterMap وScatterSet وأشكالهما البدائية. (I38a4a، b/352560465)
  • تحسينات الأداء على وجه الخصوص:
    • استبدِل طلبات check() وrequired() بنُسخ لا تُضمِّن عمليات طرح استثناءات. يقلل ذلك من حجم الملف الثنائي النهائي، والأهم من ذلك أنّه يخفّف الضغط على ذاكرة التخزين المؤقت للتعليمات قليلاً.
    • تم تحسين removeDeletedMarkers() في مجموعة "المجموعات المتفرقة". يُزيل الإصدار الجديد 8 علامات محذوفة في المرة الواحدة ويتخطّى عمليات الكتابة الأكثر تكلفة في هذه العملية. (Ic0566)

الإصدار 1.4.2

24 تموز (يوليو) 2024

تم إصدار androidx.collection:collection-*:1.4.2. يحتوي الإصدار 1.4.2 على عمليات الربط هذه.

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

  • يتضمّن استهدافات إضافية لـ Kotlin Multiplatform: watchos وtvos وlinuxArm64. (b/352543988)

الإصدار 1.4.1

10 تموز (يوليو) 2024

تم إصدار androidx.collection:collection-*:1.4.1. يحتوي الإصدار 1.4.1 على عمليات الربط هذه.

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

  • إزالة العناصر المحذوفة من "الخريطة" أو "المجموعة" عند تغيير الحجم (7a996c5، b/345960092)

الإصدار 1.4.0

24 كانون الثاني (يناير) 2024

تم إصدار androidx.collection:collection-*:1.4.0. يحتوي الإصدار 1.4.0 على هذه المراجعات.

التغييرات المهمة منذ الإصدار 1.3.0

تمّت إضافة مجموعات جديدة عالية الكفاءة لتخزين العناصر الأساسية بدون وضعها في حاويات:

  • MutableScatterMap وScatterMap: الصفوف التي تتضمّن MutableMap وواجهة برمجة تطبيقات مشابهة لواجهة برمجة تطبيقات "خرائط Google "
  • MutableScatterSet وScatterSet: الصفوف التي تحتوي على MutableSet وواجهة برمجة تطبيقات تشبه واجهة برمجة التطبيقات لـ Set
  • MutableObjectList وObjectList: الصفوف التي تحتوي على MutableList وواجهة برمجة تطبيقات List-like

على سبيل المثال، الخريطة التي تحتوي على مفتاح عدد صحيح وقيمة نوع مرجع هي IntObjectMap<T>. الخريطة التي تحتوي على مفتاح طويل وقيمة عائمة هي LongFloatMap. لا يتوفّر إصدار يحمل الاسم ObjectObjectMap لأنّه مضمّن في ScatterMap/MutableScatterMap.

الإصدار 1.4.0-rc01

10 كانون الثاني (يناير) 2024

تم طرح الإصدار androidx.collection:collection-*:1.4.0-rc01 بدون أي تغييرات. يحتوي الإصدار 1.4.0-rc01 على هذه المراجعات.

الإصدار 1.4.0-beta02

29 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.collection:collection-*:1.4.0-beta02. يحتوي الإصدار 1.4.0-beta02 على هذه المراجعات.

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

  • تحسين أداء FloatFloatPair (If5537)

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

  • ScatterMap.asMap() يعرض العنصر المتكرّر الآن عناصر جديدة (I28932 وb/310365754).

الإصدار 1.4.0-beta01

15 تشرين الثاني (نوفمبر) 2023

تم إصدار androidx.collection:collection-*:1.4.0-beta01. يحتوي الإصدار 1.4.0-beta01 على هذه المراجعات.

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

  • حلّ مشكلة ضبط ListIterator للقيم بشكل غير صحيح في ObjectList، ما قد يؤدي إلى حدوث عطل بسبب IndexOutOfBoundsException (I3bd8a، b/307049391)

الإصدار 1.4.0-alpha02

18 تشرين الأول (أكتوبر) 2023

تم إصدار androidx.collection:collection-*:1.4.0-alpha02. يحتوي الإصدار 1.4.0-alpha02 على هذه المراجعات.

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

  • تمت إضافة وظائف زائدة لواجهة برمجة التطبيقات put التي تعرض القيمة السابقة عند استبدالها بجميع المجموعات البدائية، مثل FloatFloatMap.
  • حوِّل طرق removeIf في المجموعات البدائية، مثل MutableFloatFloatMap إلى عنصر مضمّن. يضمن ذلك عدم تخصيص متغير lambda للسمة removeIf.

الإصدار 1.4.0-alpha01

‫4 أكتوبر 2023

تم إصدار androidx.collection:collection-*:1.4.0-alpha01. يحتوي الإصدار 1.4.0-alpha01 على هذه المراجعات.

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

تمت إضافة مجموعات جديدة عالية الكفاءة ذات تكلفة منخفضة لعمليات التوزيع وأداء عالٍ:

  • MutableScatterMap وScatterMap: الصفوف التي تتضمّن MutableMap وواجهة برمجة تطبيقات مشابهة لواجهة برمجة تطبيقات "خرائط Google "
  • MutableScatterSet وScatterSet: الصفوف التي تحتوي على MutableSet وواجهة برمجة تطبيقات تشبه واجهة برمجة التطبيقات لـ Set
  • MutableObjectList وObjectList: الصفوف التي تحتوي على MutableList وواجهة برمجة تطبيقات List-like

تمّت إضافة مجموعات جديدة عالية الكفاءة لتخزين العناصر الأساسية بدون وضعها في حاويات:

  • Mutable[Int|Float|Long]List: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهة MutableList<Int|Float|Long> يتوفّر أيضًا [Int|Float|Long]List للقراءة فقط. على سبيل المثال، يمكن تخزين الأعداد الصحيحة في IntList.
  • Mutable[Int|Float|Long]Set: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهة MutableSet<Int|Float|Long> يتوفّر أيضًا [Int|Float|Long]Set للقراءة فقط. على سبيل المثال، يمكن الاحتفاظ بأرقام صحيحة في IntSet.
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهة Mutable<Int|Float|Long,T, Int|Float|Long|T> يتوفّر أيضًا [Int|Float|Long|Object][Int|Float|Long|Object]Map للقراءة فقط. على سبيل المثال، الخريطة التي تحتوي على مفتاح عدد صحيح وقيمة نوع مرجع هي IntObjectMap<T>. الخريطة التي تحتوي على مفتاح طويل وقيمة عائمة هي LongFloatMap. لا يتوفّر إصدار يحمل الاسم ObjectObjectMap لأنّه مضمّن في ScatterMap/MutableScatterMap.

الإصدار 1.3.0

الإصدار 1.3.0

‫4 أكتوبر 2023

تم إصدار androidx.collection:collection-*:1.3.0. يحتوي الإصدار 1.3.0 على هذه المراجعات.

التغييرات المهمة منذ الإصدار 1.2.0

  • يمكنك الآن استخدام ميزة "المجموعات" في مشاريع Kotlin Multiplatform. يُرجى العِلم أنّ ميزة "المجموعات" لا تزال تجريبية على الأجهزة التي لا تعمل بنظام التشغيل Android، ولكن قرّرنا دمج الإصدارات لتسهيل تجربة المطوّرين لها.
  • تم نقل كلّ المصدر إلى Kotlin. وفي إطار هذا التغيير، تم الآن تصنيف العديد من واجهات برمجة التطبيقات بشكل صحيح على أنّها فارغة، وأصبح internal لبعض الأعضاء الخاصين بالحزمة. تتوفّر قائمة بالتغييرات الدقيقة في ملاحظات الإصدارات الثانوية من الإصدار 1.3.x أدناه.
  • بالإضافة إلى نقل البيانات إلى Kotlin، تم دمج collection-ktx مع عنصر المجموعة الرئيسي. يمكنك إزالة أي تبعيات على collection:collection-ktx بأمان لصالح collection:collection لأنّ collection-ktx فارغ الآن.

الإصدار 1.3.0-rc01

6 أيلول (سبتمبر) 2023

تم طرح الإصدار androidx.collection:collection-*:1.3.0-rc01 بدون أي تغييرات. يحتوي الإصدار 1.3.0-rc01 على هذه المراجعات.

الإصدار 1.3.0-beta01

9 آب (أغسطس) 2023

تم إصدار androidx.collection:collection-*:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على هذه المراجعات.

الإصدار 1.3.0-alpha04

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

تم إصدار androidx.collection:collection-*:1.3.0-alpha04.

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

  • تمّت إزالة قيود التبعية من عناصر Maven لحلّ مشكلة في عملية التصميم في استهدافات Kotlin الأصلية (b/274786186، KT-57531).

الإصدار 1.3.0-alpha03

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

تم إصدار androidx.collection:collection-*:1.3.0-alpha03. يحتوي الإصدار 1.3.0-alpha03 على هذه المراجعات.

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

  • يمكنك الآن استخدام "المجموعات" في مشاريع KMM. يُرجى العِلم أنّ ميزات "المجموعات" المخصّصة للأجهزة التي لا تعمل بنظام التشغيل Android لا تزال تجريبية، ولكن قرّرنا دمج الإصدارات لتسهيل تجربة المطوّرين لها.

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

  • ينفّذ ArraySet الآن MutableCollections بدلاً من AbstractMutableCollection للسماح بتنفيذ toArray (I1ac32) بكفاءة أكبر في استخدام الذاكرة.

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

  • لا يتوفّر ArraySet.toArray الآن إلا على JVM، لأنّه كان يتم تضمينه دائمًا فقط من أجل التوافق مع Java. على مستخدمي Kotlin استخدام .toTypedArray المساعدة في stdlib بشكل عام بدلاً من ذلك، والتي توفّر الوظيفة نفسها تمامًا مع أمان إضافي للأنواع. (I2c59b)

الإصدار 1.3.0-alpha02

27 تموز (يوليو) 2022

تم إصدار androidx.collection:collection:1.3.0-alpha02 وandroidx.collection:collection-ktx:1.3.0-alpha02. يحتوي الإصدار 1.3.0-alpha02 على هذه المراجعات.

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

  • يتوفّر الإصدار SparseArrayCompat الآن للأنظمة الأساسية غير المستندة إلى Java Virtual Machine (JVM) من العنصر المشترَك (Ic9bd0 وb/219589118 وb/228347315).
  • يتوفّر الإصدار CircularIntArray الآن للأنظمة الأساسية غير المستندة إلى Java Virtual Machine من العنصر المشترَك (I3d8ef، b/228344943).
  • يتوفّر الإصدار LongSparseArray الآن للأنظمة الأساسية غير المستندة إلى Java Virtual Machine من العنصر المشترَك (I73149، b/228347315).

الإصدار 1.3.0-alpha01

29 حزيران (يونيو) 2022

تم إصدار androidx.collection:collection:1.3.0-alpha01 وandroidx.collection:collection-ktx:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على هذه المراجعات.

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

  • تم نقل collection-ktx إضافة إلى العنصر الرئيسي للمجموعات، androidx.collection:collection. يتيح هذا التغيير لمستخدمي Kotlin الوصول إلى إضافات -ktx الحالية بدون الحاجة إلى الاعتماد على -ktx، مع الحفاظ على التوافق مع المستخدمين الحاليين. لم يعُد من المفيد الاحتفاظ بهذه الإضافات في عنصر -ktx منفصل، لأنّ العنصر الرئيسي تم نقله إلى Kotlin. (I6eef2)

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

  • ArraySet توسّع الآن AbstractMutableCollection ولم تعُد تنفّذ واجهة Collection مباشرةً. (If6da0، b/230860589)
  • تم تحويل ArraySet إلى Kotlin. بسبب قواعد الكتابة الأكثر صرامة، قد لا يتم تجميع بعض طلبات Kotlin. (Id68c1، b/230860589)
    • تحتوي الطلبات التالية على نوع الوسيطة T وليس T?:
      • ArraySet<T>.contains(null)
      • ArraySet<T>.add(null)
      • ArraySet<T>.remove(null)
    • تحتوي الطلبات التالية على نوع الإرجاع T? وليس T!:
      • ArraySet<T?>.valueAt(n)
      • ArraySet<T?>.removeAt(n)
      • ArraySet<T?>().iterator().next()
    • لم تعُد المكالمات التالية ممكنة من Kotlin:
      • set.toArray() - استخدام set.toTypedArray()
      • set.toArray(array) - استخدام set.forEachIndexed(array::set)
  • دمج عنصر الإنشاء المثقل لـ SparseArrayCompat كوسيطة اختيارية لمستخدمي Kotlin (If8407، b/227474719)
  • أزِل بنية المُشغِّل SparseArrayCompat.get(key, defaultValue).. يُرجى العِلم أنّ ذلك لا يزال يسمح ببنية المُشغِّل .get(key)، ولكنّه يُحسِّن واجهة برمجة التطبيقات SparseArrayCompat مع الفئات الأخرى في هذه المكتبة. (I9a38d)
  • نقل إضافات LongSparseArray إلى العنصر الرئيسي، androidx.collection:collection يتيح هذا التغيير لمستخدمي Kotlin الوصول إلى إضافات -ktx الحالية بدون الحاجة إلى الاعتماد على -ktx، مع الحفاظ على التوافق مع المستخدمين الحاليين. لم يعُد من المفيد الاحتفاظ بهذه الإضافات في عنصر -ktx منفصل، لأنّ العنصر الرئيسي تم نقله إلى Kotlin. (I8659a)
  • حوِّل LongSparseArray إلى Kotlin. يضيف هذا التغيير قيمة صفرية صريحة إلى أنواعه، وهو تغيير متوافق مع الثنائيات، ولكن قد يتسبب في حدوث عدم توافق في المصدر. على وجه الخصوص: * لم يعُد بالإمكان الوصول إلى .isEmpty كسمة، بل يجب الوصول إليها كطلب دالة في Kotlin‏ - .isEmpty() (Idfd0f)
  • حوِّل SimpleArrayMap إلى Kotlin. يُجري هذا التغيير بعض التغييرات غير المتوافقة، نتيجةً للتوافق بين Java وKotlin والقدرة على تحديد قيمة العدم للأنواع في المصدر بشكل صحيح.
    • تم جعل واجهات برمجة التطبيقات الخاصة بالحزمة، .mSize و.mArray و.mHashes و.indexOf() و.indexOfNull() و.indexOfValue() خاصة. وهذا تغيير غير متوافق مع الثنائيات من الناحية الفنية، ولكنه يعكس مستوى الوصول المقصود إلى هذه الحقول، وهو أقرب ما يمكننا تحقيقه في Kotlin لأنّه لا يتضمّن طريقة لتحديد مستوى الوصول الخاص بالحزمة.
    • تمّ الآن تحديد قيمة فارغة لبعض الأنواع بشكل صحيح، وتشمل ال methods المتأثرة: .getOrDefault و.keyAt و.valueAt و.setValueAt و.put و.putIfAbsent و.removeAt و.replace.
    • بالنسبة إلى مستخدمي Kotlin، أصبح الرمز .isEmpty() متاحًا الآن فقط كوظيفة بدلاً من الوصول إلى السمة أيضًا. (I271b7، b/182813986)
  • حوِّل CircularArray إلى Kotlin. التغييرات البارزة:

    • تصحيح قيمة العناصر العامة لتكون غير فارغة، وهو ما كان من المستحيل تحديده سابقًا، ولكن تم فرضه في جميع واجهات برمجة التطبيقات العامة
    • بسبب إمكانية التشغيل التفاعلي بين Java وKotlin، كان من الممكن في السابق الوصول إلى طُرق معيّنة كسمات أو وظائف. ومع ذلك، للحدّ من تكرار المحتوى مع الحفاظ على التوافق مع الثنائيات، كان من الضروري إزالة هذه العناصر، وهو تغيير غير متوافق مع المصدر. المكالمات المتأثرة هي: .isEmpty و.getLast() و.getFirst(). (Ifffac)
  • حوِّل CircularIntArray إلى Kotlin. بسبب إمكانية التشغيل التفاعلي بين Java وKotlin، كان من الممكن في السابق الوصول إلى طُرق معيّنة كسمات أو وظائف. ومع ذلك، لتقليل التكرار مع الحفاظ على التوافق الثنائي، كان من الضروري إزالة هذه الوظائف، وهو تغيير غير متوافق مع المصدر. المكالمات المتأثرة هي: .isEmpty و.getLast() و.getFirst(). (Ie36ce)

  • تحويل LruCache إلى Kotlin (Ia2f19)

  • حوِّل SparseArrayCompat إلى Kotlin. (If6fe8)

    تمّ إجراء تغيير بسيط في السلوك على SparseArrayCompat.valueAt()، والذي لم يعُد يعرض بشكلٍ غير صحيح القيمة null للطلبات غير المُنشَطة خارج пределамиsize() ولكن ضمن السعة الأولية المقدَّمة.

    يقدّم هذا التغيير أيضًا قيمة القيمة الخالية الصحيحة لبعض الأنواع التي كانت غير متوفّرة في السابق.

    • .get(): E? -> .get(): E
    • .replace(Int, Int?): Int? -> .replace(Int, Int): Int?
    • .replace(Int, Int?, Int?): Boolean -> .replace(Int, Int, Int): Boolean
    • .put(Int, Int?) -> .put(Int, Int)
    • .putIfAbsent(Int, Int?): Int? -> .putIfAbsent(Int, Int): Int?
    • .setValueAt(index: Int, value: Int?) -> .setValueAt(index: Int, value: Int)
    • .indexOfValue(value: Int?): Int -> .indexOfValue(value: Int): Int
    • .containsValue(value: Int?): Boolean -> .containsValue(value: Int): Boolean
    • .append(key: Int, value: Int?) -> .append(key: Int, value: Int)

الإصدار 1.2.0

الإصدار 1.2.0

1 كانون الأول (ديسمبر) 2021

تم إصدار androidx.collection:collection:1.2.0 وandroidx.collection:collection-ktx:1.2.0. يحتوي الإصدار 1.2.0 على هذه المراجعات.

التغييرات المهمة منذ الإصدار 1.1.0

  • أضِف عنصرًا لإنشاء صفيف إلى ArraySet. (Id7f19)
  • التأكّد من امتثال واجهة برمجة تطبيقات entrySet() من خلال تنفيذ entrySet().toArray() وremove() وremoveAll() وretainAll() وإزالة تنفيذ entrySet().addAll() (I5d505)

الإصدار 1.2.0-rc01

17 تشرين الثاني (نوفمبر) 2021

تم إصدار androidx.collection:collection:1.2.0-rc01 وandroidx.collection:collection-ktx:1.2.0-rc01. يحتوي الإصدار 1.2.0-rc01 على هذه المراجعات.

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

  • ما مِن تغييرات مقارنةً بالإصدار التجريبي السابق.

الإصدار 1.2.0-beta01

13 تشرين الأول (أكتوبر) 2021

تم إصدار androidx.collection:collection:1.2.0-beta01 وandroidx.collection:collection-ktx:1.2.0-beta01. يحتوي الإصدار 1.2.0-beta01 على هذه المراجعات.

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

  • التأكّد من امتثال واجهة برمجة تطبيقات entrySet() من خلال تنفيذ entrySet().toArray() وremove() وremoveAll() وretainAll() وإزالة تنفيذ entrySet().addAll() (I5d505)

الإصدار 1.2.0-alpha01

16 كانون الأول (ديسمبر) 2020

تم إصدار androidx.collection:collection:1.2.0-alpha01 وandroidx.collection:collection-ktx:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه المراجعات.

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

  • أضِف عنصرًا لإنشاء صفيف إلى ArraySet. (Id7f19)

الإصدار 1.1.0

الإصدار 1.1.0

5 حزيران (يونيو) 2019

تم إصدار androidx.collection:collection:1.1.0 وandroidx.collection:collection-ktx:1.1.0. يمكن العثور على عمليات الربط التي تتضمّن الإصدار 1.1.0 هنا.

في ما يلي ملخّص للتغييرات من الإصدار 1.0.0 إلى الإصدار 1.1.0:

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

  • استخدِم طريقة تنفيذ أكثر فعالية لدالتَي contains وisNotEmpty في العنصر "مجموعة-ktx". (aosp/866529)

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

  • إضافة putIfAbsent إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772608)
  • إضافة getOrDefault إلى SimpleArrayMap (aosp/772607)
  • أضِف العنصر remove الذي يحتوي على مَعلمتَين إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat. إيقاف الإضافات المقابلة لـ KTX لهذه الوظيفة نهائيًا (aosp/772482)
  • إضافة العنصر replace الذي يتضمّن مَعلمتَين إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772483)
  • إضافة العنصر replace الذي يتضمّن ثلاث وسيطات إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772484)
  • إيقاف طرق delete المكرّرة توفّر طريقة remove واجهة برمجة التطبيقات والوظائف نفسها وتتطابق مع واجهة برمجة التطبيقات المستخدَمة في "خرائط Google" غير المتخصّصة. (aosp/866053)

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

  • غيِّر SimpleArrayMap لمزامنة ذاكرة التخزين المؤقت الشاملة الداخلية للمصفوفات على SimpleArrayMap.class بدلاً من ArrayMap.class. يضمن ذلك أنّه في حال استخدام SimpleArrayMap فقط، يمكن إزالة ArrayMap باستخدام أدوات تصغير الرموز البرمجية. (aosp/934557)

الإصدار 1.1.0-rc01

7 أيار (مايو) 2019

تم إصدار androidx.collection:collection:1.1.0-rc01 وandroidx.collection:collection-ktx:1.1.0-rc01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

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

  • استخدِم طريقة تنفيذ أكثر فعالية لدالتَي contains وisNotEmpty في العنصر "مجموعة-ktx". (aosp/866529)

الإصدار 1.1.0-beta01

3 نيسان (أبريل) 2019

تم إصدار androidx.collection:collection:1.1.0-beta01 وandroidx.collection:collection-ktx:1.1.0-beta01. يمكن العثور على عمليات الربط المضمّنة في هذا الإصدار هنا.

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

  • تمت إزالة الطريقة المذكورة في ملاحظات الإصدار alpha03 والتي تم تغيير قيمة @RestrictTo فيها. ولم تستخدم أي مكتبة من AndroidX هذه الواجهة (حاليًا أو في السابق)، ولم تقدّم أي وظائف غير متوفّرة في واجهة برمجة التطبيقات المتاحة للجميع.

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

  • غيِّر SimpleArrayMap لمزامنة ذاكرة التخزين المؤقت الشاملة الداخلية للمصفوفات على SimpleArrayMap.class بدلاً من ArrayMap.class. يضمن ذلك أنّه في حال استخدام SimpleArrayMap فقط، يمكن إزالة ArrayMap باستخدام أدوات تصغير الرموز البرمجية. (aosp/934557)

الإصدار 1.1.0-alpha03

13 آذار (مارس) 2019

تم إصدار androidx.collection:collection:1.0.0-alpha03 androidx.collection:collection-ktx:1.0.0-alpha03. يمكن العثور على القائمة الكاملة للتغييرات المضمّنة في هذا الإصدار هنا.

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

  • تم تغيير طريقة في ArraySet كانت تحمل العلامة @RestrictTo(LIBRARY_GROUP) إلى @RestrictTo(LIBRARY_GROUP_PREFIX). يهدف ذلك إلى إتاحة استخدام مكتبات AndroidX الأخرى في السابق والتي أصبحت الآن في أرقام تعريف مجموعات Maven مختلفة. سيتم إما إتاحة هذه المحاولة للجميع أو إزالتها في الإصدار 1.1.0-alpha04 لأنّه لا يُفترض أن تحصل مكتبات AndroidX الأخرى على واجهات برمجة تطبيقات خاصة لا يحصل عليها المطوّرون الآخرون.

الإصدار 1.1.0-alpha02

30 كانون الثاني (يناير) 2019

تم إصدار androidx.collection:collection 1.1.0-alpha02 androidx.collection:collection-ktx 1.1.0-alpha02.

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

  • إيقاف طرق delete المكرّرة توفّر طرق remove واجهة برمجة التطبيقات والوظائف نفسها وتتطابق مع واجهة برمجة التطبيقات المستخدَمة في "خرائط Google" غير المتخصّصة. (aosp/866053)

الإصدار 1.1.0-alpha01

3 كانون الأول (ديسمبر) 2018

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

  • إضافة putIfAbsent إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772608)
  • إضافة getOrDefault إلى SimpleArrayMap (aosp/772607)
  • أضِف العنصر remove الذي يحتوي على مَعلمتَين إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat. إيقاف الإضافات المقابلة لـ KTX لهذه الوظيفة نهائيًا (aosp/772482)
  • إضافة العنصر replace الذي يتضمّن مَعلمتَين إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772483)
  • إضافة العنصر replace الذي يتضمّن ثلاث وسيطات إلى LongSparseArray وSimpleArrayMap وSparseArrayCompat (aosp/772484)