Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
30. Oktober 2024 | 1.4.5 | - | - | 1.5.0-alpha05 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Collection hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen:
Groovy
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.5
Version 1.5.0-alpha05
30. Oktober 2024
androidx.collection:collection-*:1.5.0-alpha05
wurde veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
Version 1.5.0-alpha04
16. Oktober 2024
androidx.collection:collection-*:1.5.0-alpha04
wird veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
Version 1.5.0-alpha03
2. Oktober 2024
androidx.collection:collection-*:1.5.0-alpha03
wird veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Kotlin-Versionsupdate auf 1.9 (I1a14c)
Externer Beitrag
contains
ancontainsKey
weiterleiten Vielen Dank, Jake Wharton! (I9362b)- Container-Builder für skalarspezifische Sammlungen hinzufügen Vielen Dank, Jake Wharton! (I13179)
Version 1.5.0-alpha02
18. September 2024
androidx.collection:collection-*:1.5.0-alpha02
wird veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
API-Änderungen
- Unterstützung für das Plattformziel
watchosDeviceArm64
. (I1cc04, b/364652024)
Version 1.5.0-alpha01
4. September 2024
androidx.collection:collection-*:1.5.0-alpha01
wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
API-Änderungen
OrderedScatterSet
ist eine neue sortierte, ohne Zuordnung erstellte Sammlung (Ic4178)SieveCache
ist ein neuer, ohne Zuweisung auskommender Ersatz fürLruCache
, der eine bessere Trefferquote bietet. (I50a17)- Die interne Darstellung
packedValue
fürIntIntPair
undFloatFloatPair
wurde bereitgestellt. (Ifeb75, b/331853566) - Zugriff auf das Inhaltsarray in Listensammlungen hinzufügen (I899d5, b/333903173)
- Fügen Sie
DoubleList
hinzu, eine listenähnliche Datenstruktur, die für doppelte Werte optimiert ist. (Ia10d1, b/315127635)
Fehlerkorrekturen
- Die Collections-Bibliothek wird auf Kotlin 1.9 umgestellt (I0782f)
- Viele der Sammlungen wurden optimiert, um effizienter zu sein. (Ic0566)
Version 1.4
Version 1.4.5
30. Oktober 2024
androidx.collection:collection-*:1.4.5
wird veröffentlicht. Version 1.4.5 enthält diese Commits.
Version 1.4.4
18. September 2024
androidx.collection:collection-*:1.4.4
wurde veröffentlicht. Version 1.4.4 enthält diese Commits.
Fehlerkorrekturen
- Problemlösung für
ArrayIndexOutOfBounds
beim Sortieren einer leeren Sammlung (I65245)
Version 1.4.3
7. August 2024
androidx.collection:collection-*:1.4.3
wird veröffentlicht. Version 1.4.3 enthält diese Commits.
Fehlerkorrekturen
- Behebung einer Beschädigung, die bei
ScatterMap
,ScatterSet
und ihren primitiven Varianten auftreten konnte. (I38a4a, b/352560465) - Leistungsoptimierungen: Beispiele:
- Ersetzen Sie Aufrufe von
check()
undrequired()
durch Varianten, die keine Inline-Ausnahmeauswürfe enthalten. Dadurch wird die Größe des finalen Binärcodes reduziert und vor allem der Druck auf den I-Cache etwas verringert. - Verbesserte
removeDeletedMarkers()
in der Sammlungsfamilie „scatter“. In der neuen Version werden gelöschte Markierungen 8 gleichzeitig gelöscht und teurere Schreibvorgänge werden dabei übersprungen. (Ic0566)
- Ersetzen Sie Aufrufe von
Version 1.4.2
24. Juli 2024
androidx.collection:collection-*:1.4.2
wird veröffentlicht. Version 1.4.2 enthält diese Commits.
Neue Funktionen
- Enthält zusätzliche Kotlin-Multiplattform-Ziele:
watchos
,tvos
,linuxArm64
. (b/352543988)
Version 1.4.1
10. Juli 2024
androidx.collection:collection-*:1.4.1
wird veröffentlicht. Version 1.4.1 enthält diese Commits.
Fehlerkorrekturen
- Beim Ändern der Größe gelöschte Tombstones aus der Karte/dem Set entfernen (7a996c5, b/345960092)
Version 1.4.0
24. Januar 2024
androidx.collection:collection-*:1.4.0
wird veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
Es wurden neue hocheffiziente Sammlungen zum Speichern von Primitivtypen ohne Boxing hinzugefügt:
MutableScatterMap
undScatterMap
– Klassen mitMutableMap
und kartenähnlicher APIMutableScatterSet
undScatterSet
– Klassen mitMutableSet
und API mit Set-ähnlicher StrukturMutableObjectList
undObjectList
– Klassen mitMutableList
und listenähnlicher API
Eine Zuordnung mit einem Ganzzahlschlüssel und einem Referenztypwert ist beispielsweise ein IntObjectMap<T>
. Eine Zuordnung mit einem Long-Schlüssel und einem Gleitkommawert ist eine LongFloatMap
. Es gibt keine Version mit dem Namen ObjectObjectMap
, da diese von ScatterMap/MutableScatterMap
abgedeckt wird.
Version 1.4.0-rc01
10. Januar 2024
androidx.collection:collection-*:1.4.0-rc01
wird ohne Änderungen veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Version 1.4.0-beta02
29. November 2023
androidx.collection:collection-*:1.4.0-beta02
wird veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
Neue Funktionen
- Verbesserte Leistung von
FloatFloatPair
. (If5537)
Fehlerkorrekturen
ScatterMap.asMap()
Der Iterator gibt jetzt neue Instanzen zurück (I28932, b/310365754)
Version 1.4.0-beta01
15. November 2023
androidx.collection:collection-*:1.4.0-beta01
wird veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Fehlerbehebung:
ListIterator
hat fälschlicherweise Werte inObjectList
festgelegt, was zu einem Absturz aufgrund vonIndexOutOfBoundsException
führen konnte. (I3bd8a, b/307049391)
Version 1.4.0-alpha02
18. Oktober 2023
androidx.collection:collection-*:1.4.0-alpha02
wird veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
API-Änderungen
- Es wurde eine Überladung für
put
hinzugefügt, die den vorherigen Wert zurückgibt, wenn er durch alle primitiven Sammlungen wieFloatFloatMap
ersetzt wird. - Konvertieren Sie
removeIf
-Methoden für primitive Sammlungen wieMutableFloatFloatMap
in Inline-Methoden. Dadurch wird sichergestellt, dass das Lambda fürremoveIf
nicht zugeordnet wird.
Version 1.4.0-alpha01
4. Oktober 2023
androidx.collection:collection-*:1.4.0-alpha01
wird veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
Es wurden neue Sammlungen mit hoher Effizienz hinzugefügt, die einen geringen Zuweisungsaufwand und eine hohe Leistung haben:
MutableScatterMap
undScatterMap
– Klassen mitMutableMap
und kartenähnlicher APIMutableScatterSet
undScatterSet
– Klassen mitMutableSet
und API mit Set-ähnlicher StrukturMutableObjectList
undObjectList
– Klassen mitMutableList
und einer listähnlichen API
Es wurden neue hocheffiziente Sammlungen zum Speichern von Primitivtypen ohne Boxing hinzugefügt:
Mutable[Int|Float|Long]List
– Klassen mit einerMutableList<Int|Float|Long>
-ähnlichen API. Die schreibgeschützte Datei[Int|Float|Long]List
ist ebenfalls vorhanden. In einemIntList
können beispielsweise Ganzzahlen gespeichert werden.Mutable[Int|Float|Long]Set
– Klassen mit einerMutableSet<Int|Float|Long>
-ähnlichen API. Die schreibgeschützte Datei[Int|Float|Long]Set
ist ebenfalls vorhanden. In einem IntSet können beispielsweise Ganzzahlen gespeichert werden.Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map
– Klassen mit einerMutable<Int|Float|Long,T, Int|Float|Long|T>
-ähnlichen API. Die schreibgeschützte Datei[Int|Float|Long|Object][Int|Float|Long|Object]Map
ist ebenfalls vorhanden. Eine Zuordnung mit einem Ganzzahlschlüssel und einem Referenztypwert ist beispielsweise einIntObjectMap<T>
. Eine Zuordnung mit einem Long-Schlüssel und einem Gleitkommawert ist eineLongFloatMap
. Es gibt keine Version mit dem NamenObjectObjectMap
, da diese vonScatterMap/MutableScatterMap
abgedeckt wird.
Version 1.3.0
Version 1.3.0
4. Oktober 2023
androidx.collection:collection-*:1.3.0
wird veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Sie können jetzt Sammlungen in Kotlin-Multiplattform-Projekten verwenden. Sammlungen für andere Plattformen als Android befinden sich noch in der Testphase. Wir haben uns jedoch dazu entschieden, die Versionen zusammenzuführen, damit Entwickler sie leichter ausprobieren können.
- Die gesamte Quelle wurde zu Kotlin migriert. Im Rahmen dieser Änderung werden viele APIs jetzt korrekt für Nullwerte eingegeben und einige private Paketmitglieder wurden zu
internal
. Eine Liste der genauen Änderungen finden Sie in den Versionshinweisen für 1.3.x unten. - Im Rahmen der Kotlin-Migration wurde
collection-ktx
mit dem Hauptartefakt der Sammlung zusammengeführt. Sie können alle Abhängigkeiten voncollection:collection-ktx
zugunsten voncollection:collection
entfernen, dacollection-ktx
jetzt leer ist.
Version 1.3.0-rc01
6. September 2023
androidx.collection:collection-*:1.3.0-rc01
wird ohne Änderungen veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta01
9. August 2023
androidx.collection:collection-*:1.3.0-beta01
wird veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Version 1.3.0-alpha04
24. März 2023
androidx.collection:collection-*:1.3.0-alpha04
wurde veröffentlicht.
Fehlerkorrekturen
- Abhängigkeitseinschränkungen aus Maven-Artefakten wurden entfernt, um ein Build-Problem in nativen Kotlin-Zielen zu umgehen (b/274786186, KT-57531).
Version 1.3.0-alpha03
22. März 2023
androidx.collection:collection-*:1.3.0-alpha03
wird veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
Neue Funktionen
- Sie können Sammlungen jetzt in KMM-Projekten verwenden. Sammlungen für andere Plattformen als Android befinden sich noch in der Testphase. Wir haben uns jedoch dazu entschieden, die Versionen zusammenzuführen, damit Entwickler sie leichter ausprobieren können.
API-Änderungen
ArraySet
implementiert jetztMutableCollections
anstelle vonAbstractMutableCollection
, um eine speichereffizientere Implementierung vontoArray
(I1ac32) zu ermöglichen.
Fehlerkorrekturen
ArraySet.toArray
ist jetzt nur noch in der JVM verfügbar, da es immer nur zur Kompatibilität mit Java enthalten war. Kotlin-Nutzer sollten stattdessen in der Regel die.toTypedArray
-Hilfsfunktionen der Standardbibliothek verwenden, die genau dieselben Funktionen mit zusätzlicher Typsicherheit bieten. (I2c59b)
Version 1.3.0-alpha02
27. Juli 2022
androidx.collection:collection:1.3.0-alpha02
und androidx.collection:collection-ktx:1.3.0-alpha02
wurden veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
API-Änderungen
SparseArrayCompat
ist jetzt für Nicht-JVM-Plattformen über das gemeinsame Artefakt verfügbar (Ic9bd0, b/219589118, b/228347315)CircularIntArray
ist jetzt für Nicht-JVM-Plattformen aus dem gemeinsamen Artefakt (I3d8ef, b/228344943) verfügbar.LongSparseArray
ist jetzt für Nicht-JVM-Plattformen über das gemeinsame Artefakt verfügbar (I73149, b/228347315).
Version 1.3.0-alpha01
29. Juni 2022
androidx.collection:collection:1.3.0-alpha01
und androidx.collection:collection-ktx:1.3.0-alpha01
werden freigegeben. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
collection-ktx
Erweiterungen wurden zum Hauptsammlungsartefaktandroidx.collection:collection
migriert. Durch diese Änderung sind die bereits vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Gleichzeitig bleibt die Kompatibilität für bestehende Nutzer erhalten. Es ist nicht mehr von Vorteil, diese Erweiterungen in einem separaten -ktx-Artefakt zu verwalten, da das Hauptartefakt nach Kotlin verschoben wurde. (I6eef2)
API-Änderungen
ArraySet
erweitert jetztAbstractMutableCollection
und implementiert die Sammlungsoberfläche nicht mehr direkt. (If6da0, b/230860589)ArraySet
in Kotlin konvertiert Aufgrund der strengeren Typisierung können einige Kotlin-Aufrufe möglicherweise nicht mehr kompiliert werden. (Id68c1, b/230860589)- Die folgenden Aufrufe haben den Argumenttyp
T
, nichtT?
:ArraySet<T>.contains(null)
ArraySet<T>.add(null)
ArraySet<T>.remove(null)
- Die folgenden Aufrufe haben den Rückgabetyp
T?
, nichtT!
:ArraySet<T?>.valueAt(n)
ArraySet<T?>.removeAt(n)
ArraySet<T?>().iterator().next()
- Die folgenden Aufrufe sind über Kotlin nicht mehr möglich:
set.toArray()
– Verwendung vonset.toTypedArray()
set.toArray(array)
– Verwendung vonset.forEachIndexed(array::set)
- Die folgenden Aufrufe haben den Argumenttyp
- Kombinieren Sie den überladenen Konstruktor für
SparseArrayCompat
als optionales Argument für Kotlin-Nutzer. (If8407, b/227474719) - Operatorsyntax für
SparseArrayCompat.get(key, defaultValue).
entfernen. Hinweis: Die Operatorsyntax für.get(key)
ist weiterhin zulässig, die API-Oberfläche vonSparseArrayCompat
wird jedoch besser an die anderen Klassen in dieser Bibliothek angepasst. (I9a38d) - Migrieren Sie
LongSparseArray
-Erweiterungen in das Hauptartefakt „androidx.collection:collection“. Durch diese Änderung werden die bereits vorhandenen -ktx-Erweiterungen für Kotlin-Nutzer zugänglich, ohne dass die -ktx-Abhängigkeit erforderlich ist. Die Kompatibilität für bestehende Nutzer bleibt dabei erhalten. Es ist nicht mehr von Vorteil, diese Erweiterungen in einem separaten -ktx-Artefakt zu verwalten, da das Hauptartefakt nach Kotlin verschoben wurde. (I8659a) LongSparseArray
in Kotlin konvertieren Durch diese Änderung wird den Typen eine explizite Nullung hinzugefügt. Dies ist eine binärkompatible Änderung, kann aber zu Quellinkompatibilitäten führen. Insbesondere gilt: *.isEmpty
ist nicht mehr als Property verfügbar, sondern muss als Funktionsaufruf in Kotlin –.isEmpty()
(Idfd0f) aufgerufen werden.- Konvertieren Sie
SimpleArrayMap
in Kotlin. Diese Änderung führt zu einigen inkompatiblen Änderungen, die sich aus der Java-Kotlin-Interoperabilität und der Möglichkeit ergeben, die Nullwertigkeit von Typen in der Quelle korrekt zu definieren.- Die privaten Paket-APIs
.mSize
,.mArray
,.mHashes
,.indexOf()
,.indexOfNull()
und.indexOfValue()
wurden als privat festgelegt. Dies ist eigentlich eine nicht mit Binärprogrammen kompatible Änderung, spiegelt jedoch die beabsichtigte Sichtbarkeit dieser Felder wider und ist in Kotlin am besten, da sie keine Möglichkeit zur Festlegung der Sichtbarkeit von Paketen bietet. - Die Nullwertigkeit einiger Typen ist jetzt korrekt definiert. Die betroffenen Methoden sind:
.getOrDefault
,.keyAt
,.valueAt
,.setValueAt
,.put
,.putIfAbsent
,.removeAt
und.replace
. - Für Kotlin-Nutzer ist
.isEmpty()
jetzt nur noch als Funktion verfügbar, nicht mehr über den Zugriff auf Eigenschaften. (I271b7, b/182813986)
- Die privaten Paket-APIs
CircularArray
in Kotlin konvertieren Wichtige Änderungen:- Die Null-Wertigkeit der Gattungen wird korrigiert, sodass sie nicht null sind. Das war zuvor nicht deklarierbar, wurde aber in allen öffentlichen APIs erzwungen.
- Aufgrund der Java-Interoperabilität von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Eigenschaften als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu reduzieren und gleichzeitig die Binärkompatibilität beizubehalten, mussten diese entfernt werden. Dies ist eine quelleninkompatibile Änderung. Die betroffenen Aufrufe sind
.isEmpty
,.getLast()
und.getFirst()
. (Ifffac)
CircularIntArray
in Kotlin konvertieren Aufgrund der Java-Interoperabilität von Kotlin war es bisher möglich, auf bestimmte Methoden sowohl als Eigenschaften als auch als Funktionen zuzugreifen. Um jedoch Duplikate zu reduzieren und gleichzeitig die Binärkompatibilität beizubehalten, mussten diese entfernt werden. Dies ist eine nicht mit der Quelle kompatible Änderung. Die betroffenen Anrufe sind.isEmpty
,.getLast()
und.getFirst()
. (Ie36ce)LruCache
in Kotlin konvertieren (Ia2f19)SparseArrayCompat
in Kotlin konvertieren (If6fe8)Bei
SparseArrayCompat.valueAt()
gibt es eine kleine Verhaltensänderung: Bei nicht initialisierten Aufrufen, die außerhalb der Grenzen vonsize()
, aber innerhalb der angegebenen anfänglichen Kapazität liegen, wird nicht mehr fälschlicherweisenull
zurückgegeben.Durch diese Änderung wird auch die korrekte Nullung für einige Typen eingeführt, die zuvor fehlte.
.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)
Version 1.2.0
Version 1.2.0
1. Dezember 2021
androidx.collection:collection:1.2.0
und androidx.collection:collection-ktx:1.2.0
wurden veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Fügen Sie
ArraySet
einen Arraykonstruktor hinzu. (Id7f19) - Sorgen Sie dafür, dass
entrySet()
API-konform ist, indem SieentrySet().toArray()
,remove()
,removeAll()
undretainAll()
implementieren und die Implementierung vonentrySet().addAll()
entfernen (I5d505)
Version 1.2.0-rc01
17. November 2021
androidx.collection:collection:1.2.0-rc01
und androidx.collection:collection-ktx:1.2.0-rc01
werden freigegeben. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Keine Änderungen gegenüber der vorherigen Betaversion.
Version 1.2.0-beta01
13. Oktober 2021
androidx.collection:collection:1.2.0-beta01
und androidx.collection:collection-ktx:1.2.0-beta01
werden freigegeben. Version 1.2.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Sorgen Sie dafür, dass
entrySet()
API-konform ist, indem SieentrySet().toArray()
,remove()
,removeAll()
undretainAll()
implementieren und die Implementierung vonentrySet().addAll()
(I5d505) entfernen.
Version 1.2.0-alpha01
16. Dezember 2020
androidx.collection:collection:1.2.0-alpha01
und androidx.collection:collection-ktx:1.2.0-alpha01
werden freigegeben. Version 1.2.0-alpha01 enthält diese Commits.
API-Änderungen
- Fügen Sie
ArraySet
einen Arraykonstruktor hinzu. (Id7f19)
Version 1.1.0
Version 1.1.0
5. Juni 2019
androidx.collection:collection:1.1.0
und androidx.collection:collection-ktx:1.1.0
werden freigegeben. Die Commits in 1.1.0 finden Sie hier.
Nachfolgend finden Sie eine Zusammenfassung der Änderungen von Version 1.0.0 auf Version 1.1.0:
Neue Funktionen
- Verwenden Sie eine effizientere Implementierung für die
contains
- undisNotEmpty
-Funktionen im „collection-ktx“-Artefakt. (aosp/866529)
API-Änderungen
putIfAbsent
zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772608)getOrDefault
zuSimpleArrayMap
hinzufügen (aosp/772607)- Fügen Sie
LongSparseArray
,SimpleArrayMap
undSparseArrayCompat
remove
mit zwei Argumenten hinzu. Entferne entsprechende KTX-Erweiterungen für diese Funktion. (aosp/772482) replace
mit zwei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772483)replace
mit drei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772484)- Einstellung redundanter
delete
-Methoden Dieremove
-Methode bietet dieselbe API und Funktionalität wie die API, die von nicht spezialisierten Karten verwendet wird. (aosp/866053)
Fehlerkorrekturen
- Ändern Sie
SimpleArrayMap
, damit der interne globale Cache von Arrays aufSimpleArrayMap.class
anstelle vonArrayMap.class
synchronisiert wird. So können Sie sicher sein, dassArrayMap
mithilfe von Tools zum Komprimieren von Code entfernt werden kann, wenn Sie nurSimpleArrayMap
verwenden. (aosp/934557)
Version 1.1.0-rc01
7. Mai 2019
androidx.collection:collection:1.1.0-rc01
und androidx.collection:collection-ktx:1.1.0-rc01
werden freigegeben. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Verwenden Sie eine effizientere Implementierung für die Funktionen
contains
undisNotEmpty
im „collection-ktx“-Artefakt. (aosp/866529)
Version 1.1.0-beta01
3. April 2019
androidx.collection:collection:1.1.0-beta01
und androidx.collection:collection-ktx:1.1.0-beta01
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
- Bei der in den Versionshinweisen zu Alpha 03 genannten Methode mit geändertem
@RestrictTo
-Wert wurde die Methode entfernt. Sie wurde von keiner AndroidX-Bibliothek (aktuell oder in der Vergangenheit) verwendet und bot keine Funktionen, die in der öffentlichen API fehlten.
Fehlerkorrekturen
- Ändern Sie
SimpleArrayMap
, damit der interne globale Cache von Arrays aufSimpleArrayMap.class
anstelle vonArrayMap.class
synchronisiert wird. Dadurch wird sichergestellt, dassArrayMap
durch Tools zur Codekomprimierung entfernt werden kann, wenn Sie nurSimpleArrayMap
verwenden. (aosp/934557)
Version 1.1.0-alpha03
13. März 2019
androidx.collection:collection:1.0.0-alpha03
und androidx.collection:collection-ktx:1.0.0-alpha03
wurden freigegeben.
Eine vollständige Liste der Commits in dieser Version finden Sie hier.
API-Änderungen
- Eine Methode für
ArraySet
, die zuvor als@RestrictTo(LIBRARY_GROUP)
gekennzeichnet war, wurde in@RestrictTo(LIBRARY_GROUP_PREFIX)
geändert. Dies soll die bisherige Verwendung durch andere AndroidX-Bibliotheken unterstützen, die sich jetzt in anderen Maven-Gruppen-IDs befinden. Diese Methode wird entweder in 1.1.0-alpha04 veröffentlicht oder entfernt, da andere AndroidX-Bibliotheken keine speziellen APIs erhalten sollten, die andere Entwickler nicht haben.
Version 1.1.0-alpha02
30. Januar 2019
androidx.collection:collection 1.1.0-alpha02
und androidx.collection:collection-ktx 1.1.0-alpha02
werden veröffentlicht.
API-Änderungen
- Einstellung redundanter
delete
-Methoden Dieremove
-Methoden bieten dieselbe API und Funktionalität wie die API, die von nicht spezialisierten Karten verwendet wird. (aosp/866053)
Version 1.1.0-alpha01
3. Dezember 2018
API-Änderungen
putIfAbsent
zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772608)getOrDefault
zuSimpleArrayMap
hinzufügen (aosp/772607)- Fügen Sie
LongSparseArray
,SimpleArrayMap
undSparseArrayCompat
remove
mit zwei Argumenten hinzu. Die entsprechenden KTX-Erweiterungen für diese Funktion werden eingestellt. (aosp/772482) replace
mit zwei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772483)replace
mit drei Argumenten zuLongSparseArray
,SimpleArrayMap
undSparseArrayCompat
hinzufügen (aosp/772484)