مجموعه

تأثیر حافظه مجموعه های موجود و جدید که کوچک هستند را کاهش دهید.
آخرین به روز رسانی انتشار پایدار نامزد انتشار نسخه بتا انتشار آلفا
24 جولای 2024 1.4.2 - - -

اعلام وابستگی ها

برای افزودن وابستگی به مجموعه، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

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

کاتلین

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

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت مراجعه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.2

24 جولای 2024

androidx.collection:collection-*:1.4.2 منتشر شد. نسخه 1.4.2 حاوی این commit ها است.

ویژگی های جدید

  • شامل اهداف چند پلتفرمی اضافی Kotlin: watchos ، tvos ، linuxArm64 . ( b/352543988 )

نسخه 1.4.1

10 جولای 2024

androidx.collection:collection-*:1.4.1 منتشر شد. نسخه 1.4.1 شامل این commit ها است.

رفع اشکال

  • هنگام تغییر اندازه، سنگ قبرهای حذف شده را از Map/Set حذف کنید. ( 7a996c5 , b/345960092 )

نسخه 1.4.0

24 ژانویه 2024

androidx.collection:collection-*:1.4.0 منتشر شد. نسخه 1.4.0 حاوی این commit ها است.

تغییرات مهم از 1.3.0

مجموعه های جدید با کارایی بالا برای ذخیره سازی اولیه بدون بوکس اضافه شده است:

  • MutableScatterMap & ScatterMap - کلاس هایی با MutableMap و API شبیه نقشه
  • MutableScatterSet & ScatterSet - کلاس هایی با API MutableSet و Set مانند
  • MutableObjectList & ObjectList - کلاس هایی با MutableList و API مانند List

به عنوان مثال، یک نقشه با یک کلید عدد صحیح و یک مقدار مرجع، یک IntObjectMap<T> است. نقشه ای با کلید طولانی و مقدار شناور LongFloatMap است. نسخه ای با نام ObjectObjectMap وجود ندارد زیرا توسط ScatterMap/MutableScatterMap پوشش داده شده است.

نسخه 1.4.0-rc01

10 ژانویه 2024

androidx.collection:collection-*:1.4.0-rc01 بدون هیچ تغییری منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

تغییرات API

  • اضافه بار برای put اضافه شده است که وقتی به همه مجموعه‌های ابتدایی جایگزین می‌شود، مقدار قبلی را برمی‌گرداند، مانند FloatFloatMap .
  • متدهای removeIf در مجموعه های اولیه مانند MutableFloatFloatMap به درون خطی تبدیل کنید. این تضمین می کند که لامبدا برای removeIf تخصیص داده نمی شود.

نسخه 1.4.0-alpha01

4 اکتبر 2023

androidx.collection:collection-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

مجموعه‌های جدید با راندمان بالا اضافه شده‌اند که سربار تخصیص پایین و عملکرد بالایی دارند:

  • MutableScatterMap & ScatterMap - کلاس هایی با MutableMap و API شبیه نقشه
  • MutableScatterSet & ScatterSet - کلاس هایی با API MutableSet و Set مانند
  • MutableObjectList & ObjectList - کلاس هایی با MutableList و API مانند List

مجموعه های جدید با کارایی بالا برای ذخیره سازی اولیه بدون بوکس اضافه شده است:

  • Mutable[Int|Float|Long]List - کلاسهایی با MutableList<Int|Float|Long> -مانند API. [Int|Float|Long]List فقط خواندنی نیز وجود دارد. به عنوان مثال، اعداد صحیح را می توان در IntList نگه داشت.
  • Mutable[Int|Float|Long]Set - کلاسهایی با MutableSet<Int|Float|Long> -مانند API. [Int|Float|Long]Set فقط خواندنی نیز وجود دارد. به عنوان مثال، اعداد صحیح را می توان در یک IntSet نگه داشت.
  • Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map - کلاسهایی با API شبیه به 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 حاوی این commit ها است.

تغییرات مهم از 1.2.0

  • اکنون می توانید از مجموعه ها در پروژه های چند پلتفرمی Kotlin استفاده کنید. توجه داشته باشید که اهداف غیر اندرویدی مجموعه‌ها هنوز آزمایشی هستند، اما ما تصمیم گرفتیم نسخه‌ها را ادغام کنیم تا توسعه‌دهندگان بتوانند آن‌ها را راحت‌تر امتحان کنند.
  • همه منبع به کاتلین منتقل شده است. به عنوان بخشی از این تغییر، بسیاری از APIها اکنون به درستی برای باطل تایپ می شوند و تعداد کمی از اعضای خصوصی بسته 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 حاوی این commit ها است.

نسخه 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 Native Targets حل کند ( b/274786186 ، KT-57531 ).

نسخه 1.3.0-alpha03

22 مارس 2023

androidx.collection:collection-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • اکنون می توانید از مجموعه ها در پروژه های KMM استفاده کنید. توجه داشته باشید که اهداف غیر اندرویدی مجموعه‌ها هنوز آزمایشی هستند، اما ما تصمیم گرفتیم نسخه‌ها را ادغام کنیم تا توسعه‌دهندگان بتوانند آن‌ها را راحت‌تر امتحان کنند.

تغییرات API

  • ArraySet اکنون MutableCollections به جای AbstractMutableCollection پیاده سازی می کند تا امکان اجرای کارآمدتر حافظه toArray را فراهم کند ( I1ac32 )

رفع اشکال

  • ArraySet.toArray اکنون فقط در JVM در دسترس است زیرا همیشه فقط برای سازگاری با جاوا گنجانده شده است. کاربران 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 حاوی این commit ها است.

تغییرات API

  • SparseArrayCompat اکنون برای پلتفرم‌های غیرjvm از مصنوعات رایج در دسترس است ( Ic9bd0 ، b/219589118 ، b/228347315 )
  • CircularIntArray اکنون برای پلتفرم‌های غیرjvm از آرتیفکت رایج در دسترس است ( I3d8ef , b/228344943 )
  • LongSparseArray اکنون برای پلتفرم‌های غیرjvm از مصنوعات رایج در دسترس است ( 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 حاوی این commit ها است.

ویژگی های جدید

  • پسوندهای collection-ktx به آرتیفکت مجموعه‌های اصلی، androidx.collection:collection منتقل شده‌اند. این تغییر باعث می‌شود که پسوندهای -ktx از قبل موجود برای کاربران Kotlin بدون نیاز به وابستگی -ktx قابل دسترسی باشند، در حالی که همچنان سازگاری را برای کاربران موجود حفظ می‌کند. از آنجایی که مصنوع اصلی به Kotlin منتقل شده است، نگهداری این افزونه ها در یک آرتیفکت -ktx جداگانه دیگر مفید نیست. ( I6eef2 )

تغییرات API

  • 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()
    • تماس‌های زیر دیگر از کاتلین امکان‌پذیر نیست:
      • set.toArray() - از set.toTypedArray() استفاده کنید
      • set.toArray(array) - استفاده از set.forEachIndexed(array::set)
  • سازنده سربارگذاری شده را برای SparseArrayCompat به عنوان یک آرگومان اختیاری برای کاربران Kotlin ترکیب کنید. ( If8407 , b/227474719 )
  • دستور عملگر را برای SparseArrayCompat.get(key, defaultValue). توجه داشته باشید که این همچنان به نحو عملگر برای .get(key) اجازه می دهد، اما سطح API SparseArrayCompat را با کلاس های دیگر در این کتابخانه بهتر تراز می کند. ( I9a38d )
  • پسوندهای LongSparseArray را به مصنوع اصلی، androidx.collection:collection منتقل کنید. این تغییر باعث می‌شود که پسوندهای -ktx از قبل موجود برای کاربران Kotlin بدون نیاز به وابستگی -ktx قابل دسترسی باشند، در حالی که همچنان سازگاری را برای کاربران موجود حفظ می‌کند. از آنجایی که مصنوع اصلی به Kotlin منتقل شده است، نگهداری این افزونه ها در یک آرتیفکت -ktx جداگانه دیگر مفید نیست. ( I8659a )
  • LongSparseArray به Kotlin تبدیل کنید. این تغییر به انواع آن بی اعتباری صریح اضافه می کند، که یک تغییر سازگار باینری است، اما ممکن است باعث ناسازگاری منبع شود. به طور خاص: * .isEmpty دیگر به عنوان یک ویژگی قابل دسترسی نیست، باید به عنوان یک تابع در Kotlin - .isEmpty() ( Idfd0f ) قابل دسترسی باشد.
  • SimpleArrayMap به Kotlin تبدیل کنید. این تغییر باعث ایجاد چند تغییر ناسازگار می شود که در نتیجه تعامل جاوا-کاتلین و توانایی تعریف صحیح بی اعتباری انواع در منبع است.
    • بسته‌های API خصوصی، .mSize ، .mArray ، .mHashes ، .indexOf() .indexOfValue() .indexOfNull() و نزدیک‌ترین چیزی است که می‌توانیم در Kotlin به دست آوریم زیرا راهی برای مشخص کردن قابلیت مشاهده بسته-خصوصی ندارد.
    • باطل بودن برخی از انواع اکنون به درستی تعریف شده است، روش های تحت تأثیر عبارتند از: .getOrDefault ، .keyAt ، .valueAt ، .setValueAt ، .put ، .putIfAbsent ، .removeAt ، .replace .
    • برای کاربران Kotlin، .isEmpty() اکنون فقط به عنوان یک تابع به جای دسترسی به ویژگی در دسترس است. ( I271b7 , b/182813986 )
  • CircularArray به Kotlin تبدیل کنید. تغییرات قابل توجه:

    • باطل بودن ژنریک های خود را به صورت غیر تهی تصحیح می کند، که قبلاً اعلام آن غیرممکن بود، اما در همه API های عمومی آن اعمال می شد.
    • با توجه به interop جاوای Kotlin، قبلاً امکان دسترسی به برخی روش ها به عنوان ویژگی یا توابع وجود داشت. با این حال، برای کاهش تکرار و حفظ سازگاری باینری، لازم بود این موارد حذف شوند، که یک تغییر ناسازگار با منبع است. فراخوانی‌های تحت تأثیر عبارتند از: .isEmpty ، .getLast() و .getFirst() . ( ایفک )
  • CircularIntArray را به Kotlin تبدیل کنید. با توجه به interop جاوای 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 حاوی این commit ها است.

تغییرات مهم از 1.1.0

  • یک سازنده آرایه به ArraySet اضافه کنید. ( ID7f19 )
  • با اجرای entrySet().toArray() ، remove() ، removeAll() و retainAll() و حذف پیاده سازی entrySet().addAll() entrySet() I5d505 ) مطابق با API قرار دهید.

نسخه 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 حاوی این commit ها است.

تغییرات API

  • هیچ تغییری نسبت به نسخه بتای قبلی وجود ندارد.

نسخه 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().toArray() ، remove() ، removeAll() و retainAll() و حذف پیاده سازی entrySet().addAll() entrySet() I5d505 ) مطابق با API قرار دهید.

نسخه 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 حاوی این commit ها است.

تغییرات API

  • یک سازنده آرایه به ArraySet اضافه کنید. ( ID7f19 )

نسخه 1.1.0

نسخه 1.1.0

5 ژوئن 2019

androidx.collection:collection:1.1.0 و androidx.collection:collection-ktx:1.1.0 منتشر شدند. commit های شامل 1.1.0 را می توانید در اینجا پیدا کنید.

در زیر خلاصه ای از تغییرات از 1.0.0 به 1.1.0 آمده است:

ویژگی های جدید

  • از اجرای کارآمدتر برای توابع contains و isNotEmpty در آرتیفکت 'collection-ktx' استفاده کنید. ( aosp/866529 )

API تغییر می کند

  • 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 همان API و عملکرد را ارائه می دهد و با API استفاده شده توسط Maps غیر تخصصی مطابقت دارد. ( 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 منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.

ویژگی های جدید

  • از اجرای کارآمدتر برای توابع contains و isNotEmpty در آرتیفکت 'collection-ktx' استفاده کنید. ( aosp/866529 )

نسخه 1.1.0-beta01

3 آوریل 2019

androidx.collection:collection:1.1.0-beta01 و androidx.collection:collection-ktx:1.1.0-beta01 منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.

API تغییر می کند

  • روشی که در یادداشت‌های انتشار alpha03 به‌عنوان تغییر مقدار @RestrictTo آن ذکر شده است، حذف شده است. هیچ کتابخانه AndroidX (در حال حاضر یا در گذشته) از آن استفاده نمی کرد و هیچ عملکردی را ارائه نمی داد که در API عمومی وجود نداشته باشد.

رفع اشکال

  • 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 منتشر شدند. لیست کامل commit های موجود در این نسخه را می توانید در اینجا بیابید.

API تغییر می کند

  • روشی در ArraySet که قبلاً @RestrictTo(LIBRARY_GROUP) علامت گذاری شده بود به @RestrictTo(LIBRARY_GROUP_PREFIX) تغییر کرد. این برای پشتیبانی از استفاده تاریخی توسط سایر کتابخانه‌های AndroidX است که اکنون در شناسه‌های مختلف گروه Maven هستند. این روش یا عمومی می شود یا در نسخه 1.1.0-alpha04 حذف می شود زیرا سایر کتابخانه های AndroidX نباید API های خاصی را دریافت کنند که سایر توسعه دهندگان آن را ندارند.

نسخه 1.1.0-alpha02

30 ژانویه 2019

androidx.collection:collection 1.1.0-alpha02 و androidx.collection:collection-ktx 1.1.0-alpha02 منتشر شدند.

API تغییر می کند

  • روش های delete اضافی را منسوخ کنید. روش‌های remove همان API و عملکرد را ارائه می‌کنند و با API استفاده شده توسط Maps غیرتخصصی مطابقت دارد. ( aosp/866053 )

نسخه 1.1.0-alpha01

3 دسامبر 2018

API تغییر می کند

  • 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 )