ProfileInstaller

  
لتمكين المكتبات من الملء المسبق لآثار التجميع المسبق لوقت القراءة بواسطة ART.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
2 أكتوبر 2024 1.4.1 - - -

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

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

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

Groovy

dependencies {
    implementation "androidx.profileinstaller:profileinstaller:1.3.1"
}

Kotlin

dependencies {
    implementation("androidx.profileinstaller:profileinstaller:1.3.1")
}

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

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

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

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

الإصدار 1.4

الإصدار 1.4.1

2 أكتوبر 2024

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

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

  • تم إصلاح مشكلة عدم توفّر إمكانية تسجيل الملف الشخصي الأساسي في عمليات متعددة من خلال الإشارة إلى عمليات متعددة بشكل تسلسلي. يتطلّب هذا الإصلاح التحديث إلى androidx.benchmark:benchmark-macro:1.4.0-alpha02 في وحدة الملف الشخصي لاختبار الأداء على مستوى النظام/الملف الشخصي الأساسي وandroidx.profileinstaller:profileinstaller:1.4.1 في التطبيق. (I0f519، b/366231469)

الإصدار 1.4.0

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

تم إصدار androidx.profileinstaller:profileinstaller:1.4.0. يحتوي الإصدار 1.4.0 على عمليات التنفيذ هذه.

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

  • يتيح ProfileInstaller الآن التقاط/تثبيت الملفات الشخصية على الإصدار 35 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. ولن تكون هناك حاجة إلى إجراء تحديثات على ProfileInstaller بعد الآن عند تحديث إصدار النظام الأساسي. (6f9f6fa)
  • إصلاح الأعطال عند إسقاط ملفات تظليل على نظام التشغيل Android U (واجهة برمجة التطبيقات 34) وعلى المحاكيات (I031ca، b/274314544)
  • إصلاح تحويل ترميز علامة الطريقة بتنسيق الملف الشخصي V_015S (aosp/2906631، aosp/2847740)

الإصدار 1.4.0-rc01

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

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

الإصدار 1.4.0-beta01

21 آب (أغسطس) 2024

تم طرح androidx.profileinstaller:profileinstaller:1.4.0-beta01 بدون أي تغييرات من الإصدار الأولي الأخير. يحتوي الإصدار 1.4.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.4.0-alpha02

7 آب (أغسطس) 2024

تم طرح androidx.profileinstaller:profileinstaller:1.4.0-alpha02. يحتوي الإصدار 1.4.0-alpha02 على عمليات التنفيذ هذه.

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

  • تمت إضافة إمكانية استخدام واجهة برمجة التطبيقات 35 إلى أداة تثبيت الملفات الشخصية. (6f9f6fa)

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

  • تمت إزالة التحديد اليدوي للوصول إلى واجهات برمجة تطبيقات المنصة الجديدة لأنّ ذلك يحدث تلقائيًا من خلال وضع نماذج لواجهات برمجة التطبيقات عند استخدام R8 مع AGP 7.3 أو إصدار أحدث (مثل R8 الإصدار 3.3) ولجميع الإصدارات عند استخدام AGP 8.1 أو إصدار أحدث (مثل D8 الإصدار 8.1). ننصح العملاء الذين لا يستخدمون AGP بالترقية إلى الإصدار 8.1 من D8 أو إصدار أحدث. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (If6b4c، b/345472586)

الإصدار 1.4.0-alpha01

7 شباط (فبراير) 2024

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

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

  • تمت إضافة رمز خطأ لعدم تضمين ملف شخصي في أداة إثبات ملكية الملف الشخصي. (Ifb109، b/313928520)
  • إصلاح الأعطال عند إسقاط ملفات تظليل على نظام التشغيل Android U (واجهة برمجة التطبيقات 34) وعلى المحاكيات (I031ca، b/274314544)
  • تم تفعيل الدعم لنظام Android U في أداة تثبيت الملف الشخصي. (Iaf177)
  • تم إصلاح مشكلة تعذُّر تثبيت الملف الشخصي على نظام التشغيل Android U بسبب عدم إنشاء الملف الشخصي الحالي فارغًا عند بدء العملية. (Ie3899)
  • إصلاح طريقة تحويل ترميز الصور النقطية في تنسيق الملف الشخصي V_015S (aosp/2906631) و (aosp/2847740)

الإصدار 1.3

الإصدار 1.3.1

3 أيار (مايو) 2023

تم إصدار androidx.profileinstaller:profileinstaller:1.3.1. يحتوي الإصدار 1.3.1 على عمليات الالتزام هذه.

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

  • تم تفعيل الدعم لنظام Android U في أداة تثبيت الملف الشخصي (Iaf177)
  • تم إصلاح مشكلة تعذُّر تثبيت الملف الشخصي على نظام التشغيل Android U بسبب عدم إنشاء الملف الشخصي الحالي فارغًا عند بدء العملية. (Ie3899)

الإصدار 1.3.0

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

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

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

  • تم إصلاح NullPointerException في ProfileInstallReceiver. (b/243851384)
  • تمت إضافة واجهة برمجة التطبيقات ProfileVerifier للتحقّق من داخل التطبيق مما إذا تم تجميع ملف شخصي أساسي أو جدولته أو كان غير متوفّر (I263a4، b/246653809)
  • تضيف هذه الميزة بثًا جديدًا لوحدة التحكّم في البرامج يتيح لبرنامج Macrobenchmark تفريغ بيانات الملف الشخصي في الذاكرة بالكامل على القرص لتضمينها في عملية إنشاء الملف الشخصي الأساسي. هذا الإجراء مطلوب لاستخدام مكتبة مقاييس الأداء الكلية لتسجيل الملفات الشخصية المرجعية من خلال BaselineProfileRule، وتقييم أداء الملف الشخصي باستخدام CompilationMode.Partial(warmupIterations).
  • تمت إضافة رمز تشخيص لرصد الملفات الشخصية الأساسية المضغوطة. لا يمكن تثبيت الملفات الشخصية الأساسية المضغوطة بواسطة Profileinstaller في اختبارات الأداء الشاملة أو في مرحلة الإنتاج بسبب زيادة الحمل على وحدة المعالجة المركزية، ويجب تجنُّبها عند إنشاء تطبيقك من خلال التحديث إلى Studio/AGP Electric Eel أو الإصدار bundletool 1.13.1(I86413، b/261998144).
  • تمت إضافة أدوات ربط لاختبارات الأداء الشاملة لتسجيل الملفات الشخصية وحذف ذاكرة التخزين المؤقت للظلال، وهي مطلوبة لإنشاء الملفات الشخصية الأساسية أو اختبارات الأداء الشاملة على الأجهزة غير الجذرة (Ie0a7d وb/250083467 وb/253094958) (Ia5171 وb/231455742)

الإصدار 1.3.0-rc01

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

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

الإصدار 1.3.0-beta01

8 شباط (فبراير) 2023

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

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

  • تم إيقاف ميزة معالجة الملفات المضغوطة، لأنّ فتحها وفك ضغطها يؤديان إلى انخفاض في استخدام وحدة المعالجة المركزية بمقدار 10 مللي ثانية أثناء بدء التشغيل، لذلك تمت إضافة أداة تشخيص بدلاً من ذلك لاكتشاف الملفات الأساسية المضغوطة بشكل غير صحيح. (I86413، b/261998144)

الإصدار 1.3.0-alpha03

11 كانون الثاني (يناير) 2023

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

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

  • تفعيل معالجة الملفات التجارية الأساسية المضغوطة أو غير المضغوطة (Ic61a0)
  • إصلاح MacrobenchmarkScope.dropShaderCache() لمنع تعطّله من خلال إصلاح سجلّ البث في بيان أداة تثبيت الملف الشخصي (I5c728، b/258619948)

الإصدار 1.3.0-alpha02

9 تشرين الثاني (نوفمبر) 2022

تم إصدار androidx.profileinstaller:profileinstaller:1.3.0-alpha02. يحتوي الإصدار 1.3.0-alpha02 على هذه عمليات التنفيذ.

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

  • تمت إضافة عنصر ربط لمعايير الأداء لإلغاء ذاكرة التخزين المؤقت للظلال، لضمان أداء ثابت لعمليات بدء التشغيل البارد، خاصةً عند التجميع باستخدام الملفات الشخصية من عمليات تكرار الإحماء. هذا التحديث مطلوب لقياس عمليات التشغيل على البارد باستخدام benchmark-macro-junit4:1.2.0-alpha05 أو إصدار أحدث. للاطّلاع على تغييرات واجهة برمجة التطبيقات في مكتبة مقاييس الأداء، يُرجى الرجوع إلى صفحة مقياس الأداء 1.2.0-alpha07. (Ia5171، b/231455742)

الإصدار 1.3.0-alpha01

24 تشرين الأول (أكتوبر) 2022

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

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

  • تمت إضافة واجهة برمجة التطبيقات ProfileVerifier للتحقّق من داخل التطبيق مما إذا تم تجميع ملف قياسي أو جدولته أو كان غير متوفّر (I263a4، b/246653809)
  • تضيف هذه الميزة بثًا جديدًا لوحدة التحكّم في البرامج يتيح لبرنامج Macrobenchmark تفريغ بيانات الملف الشخصي في الذاكرة بالكامل على القرص لتضمينها في عملية إنشاء الملف الشخصي الأساسي. هذا الإجراء مطلوب لاستخدام مكتبة اختبارات الأداء الشاملة لتسجيل الملفات الشخصية الأساسية باستخدام BaselineProfileRule وتقييم أداء الملف الشخصي باستخدام CompilationMode.Partial(warmupIterations). (Ie0a7d، b/250083467، b/253094958)

الإصدار 1.2.2

الإصدار 1.2.2

11 كانون الثاني (يناير) 2023

تم إصدار androidx.profileinstaller:profileinstaller:1.2.2. يحتوي الإصدار 1.2.2 على عمليات الربط هذه.

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

  • تفعيل معالجة الملفات التجارية الأساسية المضغوطة أو غير المضغوطة (Ic61a0)

الإصدار 1.2.1

الإصدار 1.2.1

7 كانون الأول (ديسمبر) 2022

تم إصدار androidx.profileinstaller:profileinstaller:1.2.1. يحتوي الإصدار 1.2.1 على عمليات الالتزام هذه.

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

  • فعِّل أداة تثبيت الملف الشخصي لـ S_V2 (المستوى 32 لواجهة برمجة التطبيقات) وTIRAMISU (المستوى 33 لواجهة برمجة التطبيقات) (b/254900303).

الإصدار 1.2.0

الإصدار 1.2.0

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

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

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

  • تمت إضافة إمكانية استخدام تنسيق الملف الشخصي ART على نظام التشغيل Android 12 والإصدارات الأحدث.
  • أضِف واجهات برمجة تطبيقات جديدة في ProfileInstallReceiver للحصول على نتائج أكثر اتساقًا مع Macrobenchmarks عند استخدام الملفات الشخصية الأساسية.

الإصدار 1.2.0-rc01

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

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

  • هذا الإصدار مماثل لـ androidx.profileinstaller:profileinstaller:1.2.0-beta03.

الإصدار 1.2.0-beta03

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

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

الإصدار 1.2.0-beta02

18 أيار (مايو) 2022

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

  • ما مِن تغييرات مطلوبة لإتاحة الإصدارات 1.2.0-beta02 من Compose.

الإصدار 1.2.0-beta01

11 أيار (مايو) 2022

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

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

  • يمكنك إضافة واجهات برمجة تطبيقات جديدة في ProfileInstallReceiver للحصول على نتائج أكثر اتساقًا مع Macrobenchmarks عند استخدام الملفات الشخصية المرجعية. (If2ae5، وb/215740637)

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

  • يعرض "أداة تثبيت الملف الشخصي" رسالة مفيدة عند محاولة استخدام تنسيق البيانات الوصفية V_001 على نظام التشغيل Android 12 والإصدارات الأحدث. (aosp/1978526، b/217502387)
  • يستخدم "أداة تثبيت الملفات الشخصية" الآن الإصدار 1.1.1 من androidx.startup. (aosp/2077099، b/229828376)

الإصدار 1.2.0-alpha02

26 يناير 2022

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

هذا الإصدار مطابق للإصدار 1.2.0-alpha01.

الإصدار 1.2.0-alpha01

12 كانون الثاني (يناير) 2022

تم إصدار androidx.profileinstaller:profileinstaller:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه عمليات التنفيذ.

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

  • إضافة دعم لتنسيق ملف ART المستخدَم في Android 12 والإصدارات الأحدث

الإصدار 1.1.0

الإصدار 1.1.0

9 شباط (فبراير) 2022

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0. يحتوي الإصدار 1.1.0 على عمليات الالتزام هذه.

الإصدار 1.1.0-rc01

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

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-rc01 بدون أي تحديثات منذ 1.1.0-beta04. يحتوي الإصدار 1.1.0-rc01 على هذه المراجعات.

الإصدار 1.1.0-beta04

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

تم طرح androidx.profileinstaller:profileinstaller:1.1.0-beta04. يحتوي الإصدار 1.1.0-beta04 على هذه المراجعات.

الإصدار 1.1.0-beta03

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

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-beta03. يحتوي الإصدار 1.1.0-beta03 على هذه المراجعات.

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

  • تم تعديله ليتوافق مع الإصدار 1.1.0-beta03 من Compose

الإصدار 1.1.0-beta02

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

تم طرح androidx.profileinstaller:profileinstaller:1.1.0-beta02. يحتوي الإصدار 1.1.0-beta02 على هذه المراجعات.

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

  • تم تعديله ليتوافق مع الإصدار 1.1.0-beta02 من Compose

الإصدار 1.1.0-beta01

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

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

  • لم يتم إجراء أي تغييرات منذ الإصدار 1.1.0-alpha07.

الإصدار 1.1.0-alpha07

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

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-alpha07. يحتوي الإصدار 1.1.0-alpha07 على هذه عمليات التنفيذ.

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

  • تمت إضافة إمكانية استخدام profm على نظام التشغيل Android N.

الإصدار 1.1.0-alpha06

29 أيلول (سبتمبر) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-alpha06. يحتوي الإصدار 1.1.0-alpha06 على هذه عمليات التنفيذ.

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

  • حلّ مشاكل تحويل ترميز أداة ProfileInstaller على الإصدارات N وO وO_MR1 (I12d75)

الإصدار 1.1.0-alpha05

15 أيلول (سبتمبر) 2021

تم طرح androidx.profileinstaller:profileinstaller:1.1.0-alpha05. يحتوي الإصدار 1.1.0-alpha05 على هذه عمليات التنفيذ.

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

  • تم إصلاح عملية تحويل الملف الشخصي لنظامَي التشغيل Android Nougat وAndroid Oreo لحِزم APK المتعدّدة الإصدارات.

الإصدار 1.1.0-alpha04

1 أيلول (سبتمبر) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-alpha04. يحتوي الإصدار 1.1.0-alpha04 على عمليات التنفيذ هذه.

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

  • يجب إصلاح ProfileInstaller لتسهيل تشغيل اختبارات MacroBenchmarks باستخدام CompilationMode.BaselineProfile على التطبيقات التي تستخدم الملفات الشخصية الأساسية. (I42657، b/196074999)

الإصدار 1.1.0-alpha03

18 آب (أغسطس) 2021

تم طرح androidx.profileinstaller:profileinstaller:1.1.0-alpha03. يحتوي الإصدار 1.1.0-alpha03 على هذه المراجعات.

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

  • يمكنك تغيير سلوك التخطّي في أداة تثبيت الملف الشخصي لتسجيل قيمة ملف PackageInfo.lastUpdatedTime في ملف في دليل ملفات التطبيق ومقارنتها قبل تثبيت الملف الشخصي في التشغيل التالي. (Ib93d1)
  • تعديل تنسيق الملف الشخصي على أجهزة P وQ وR بما يتوافق مع متطلبات ART (I84e89)

الإصدار 1.1.0-alpha02

4 آب (أغسطس) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.1.0-alpha02. يحتوي الإصدار 1.1.0-alpha02 على عمليات التنفيذ هذه.

تم تعديلها لتتوافق مع الإصدار 1.1.0-alpha01 من Compose.

الإصدار 1.1.0-alpha01

21 يوليو 2021

تم طرح androidx.profileinstaller:profileinstaller:1.1.0-alpha01. يحتوي الإصدار 1.1.0-alpha01 على هذه عمليات التنفيذ.

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

  • تم إصلاح خطأ كان يؤدي إلى تفعيل الوضع الصارم في بعض الحالات.

الإصدار 1.0

الإصدار 1.0.4

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

تم إصدار androidx.profileinstaller:profileinstaller:1.0.4. يحتوي الإصدار 1.0.4 على هذه المراجعات.

  • تم تعديله ليتوافق مع الإصدار 1.0.4 من ميزة "الإنشاء"

الإصدار 1.0.3

29 أيلول (سبتمبر) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.0.3. يحتوي الإصدار 1.0.3 على هذه المراجعات.

  • تم التحديث لدعم Compose 1.0.3

الإصدار 1.0.2

1 أيلول (سبتمبر) 2021

تم طرح androidx.profileinstaller:profileinstaller:1.0.2. يحتوي الإصدار 1.0.2 على عمليات الالتزام هذه.

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

  • تمت إضافة تحويل ترميز الملف الشخصي للأجهزة P وQ وR. يعني هذا التغيير أنّ هذه الأجهزة ستُعيد ترميز الملف الشخصي، ما يضمن إمكانية استخدام ART للملف الشخصي المكتوب في أي وقت. في السابق، كان يتم تخطّي عملية تحويل الترميز على هذه المنصات، ما يؤدي أحيانًا إلى عدم تمكّن أداة ART من معالجة الملف الشخصي المصدر. لن يتم إجراء أي تغييرات على واجهات برمجة التطبيقات المخصّصة للمطوّرين.

الإصدار 1.0.1

4 آب (أغسطس) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.0.1. يحتوي الإصدار 1.0.1 على هذه المراجعات.

تم تعديله ليصبح متوافقًا مع الإصدار 1.0.1 من تطبيق Compose.

الإصدار 1.0.0

28 تموز (يوليو) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.0.0. يحتوي الإصدار 1.0.0 على عمليات الربط هذه.

الميزات الرئيسية للإصدار 1.0.0

أداة تثبيت الملفات الشخصية هي مكتبة جديدة تتيح للمكتبات والتطبيقات تحديد "قواعد الملفات الشخصية" وتجميع معلومات ملف ART الشخصي مع حزمة APK، وستثبّت هذه المكتبة هذه الملفات الشخصية بعد تشغيل التطبيق. ويمكن استخدام ذلك لتحسين أداء التطبيقات.

يُرجى الاطّلاع على ملاحظات الإصدار التفصيلية في 1.0.0-beta01 للحصول على مزيد من المعلومات حول قواعد الملفات الشخصية هذه وطريقة عملها.

الإصدار 1.0.0-rc02

14 تموز (يوليو) 2021

تم إصدار androidx.profileinstaller:profileinstaller:1.0.0-rc02. يحتوي الإصدار 1.0.0-rc02 على هذه المراجعات.

الإصدار 1.0.0-rc01

1 تموز (يوليو) 2021

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

هذا إصدار تجريبي نهائي بدون أي تغييرات عن الإصدار التجريبي.

الإصدار 1.0.0-beta01

16 حزيران (يونيو) 2021

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

الغرض من المكتبة

أداة تثبيت الملفات الشخصية هي مكتبة جديدة تتيح للمكتبات والتطبيقات تحديد "قواعد الملفات الشخصية" وتجميع معلومات ملف ART الشخصي مع حزمة APK، وستثبّت هذه المكتبة هذه الملفات الشخصية بعد تشغيل التطبيق. ويمكن استخدام هذه البيانات لتحسين أداء التطبيق.

يتم تثبيت هذا الملف الشخصي باستخدام مكتبة androidx.startup. إذا أراد المستخدم إيقاف تثبيت الملف الشخصي لأي سبب، يمكنه تعديل البيان لإزالته:


       <provider
           android:name="androidx.startup.InitializationProvider"
           android:authorities="${applicationId}.androidx-startup"
           android:exported="false"
           tools:node="merge">
           <meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
                     tools:node="remove" />
       </provider>

ويُعدّ هذا الإجراء مفيدًا بشكل خاص إذا كان تطبيقك يتطلّب متطلبات تشغيل معقدة وأردت بدء تثبيت الملف التجاري يدويًا باستخدام واجهة برمجة التطبيقات ProfileInstaller.writeProfile.

ما هي قواعد الملفات التجارية؟

  • يتم تحديد قواعد الملف الشخصي لمكتبة في ملف نصي baseline-prof.txt في الدليل src/main أو الدليل المكافئ. يحدد الملف قاعدة في كل سطر، حيث تكون القاعدة في هذه الحالة نمطًا للمطابقة مع الطرق أو الفئات في المكتبة. بنية هذه القواعد هي مجموعة فائقة من تنسيق ملف تعريف ART السهل القراءة والذي يتم استخدامه عند استخدام adb shell profman --dump-classes-and-methods .... تتّخذ هذه القواعد أحد شكلَين لاستهداف الطرق أو الفئات.

  • سيكون لقاعدة الطريقة النمط التالي:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • وسيكون لنمط قاعدة الفئة الشكل التالي:

    <CLASS_DESCRIPTOR>
    
  • يشير الرمز <FLAGS> إلى حرف واحد أو أكثر من الأحرف H وS وP للإشارة إلى ما إذا كان يجب وضع علامة على هذه الطريقة على أنّها "مهام نشطة" أو "مهام بدء التشغيل" أو "مهام ما بعد بدء التشغيل".

  • <CLASS_DESCRIPTOR> هو الوصف للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، سيكون للفئة androidx.compose.runtime.SlotTable وصف Landroidx/compose/runtime/SlotTable;.

  • تمثّل السمة <METHOD_SIGNATURE> توقيع الطريقة وتتضمّن الاسم وأنواع المَعلمات وأنواع النتائج التي تتضمنها الطريقة. على سبيل المثال، تحتوي الطريقة fun isPlaced(): Boolean في LayoutNode على التوقيع isPlaced()Z.

  • يمكن أن تحتوي هذه الأنماط على أحرف بدل (** و* و?) لكي تتضمّن قاعدة واحدة طرقًا أو فئات متعددة.

ما هي وظيفة القواعد؟

  • تشير الطريقة التي تحمل العلامة H إلى أنّ هذه الطريقة "ساخنة"، ويجب تجميعها مسبقًا.

  • تشير الطريقة التي تحمل العلامة S إلى أنّها طريقة يتمّ استدعاؤها عند بدء التشغيل، ويجب تجميعها مسبقًا لتجنّب تكلفة التجميع وتفسير الطريقة في وقت بدء التشغيل.

  • تشير الطريقة التي تحمل العلامة P إلى أنّها طريقة يتم طلبها بعد بدء التشغيل.

  • تشير الفئة المتوفّرة في هذا الملف إلى أنّها مستخدَمة أثناء بدء التشغيل ويجب تخصيصها مسبقًا في الحِزمة لتجنب تكلفة تحميل الفئة.

‏‫ما هي آلية العمل؟‬

  • يمكن للمكتبات تحديد هذه القواعد التي سيتم تجميعها في عناصر AAR. وعندما يتم إنشاء حزمة APK تتضمّن هذه العناصر، يتم دمج هذه القواعد معًا ويتم استخدام القواعد المدمجة لإنشاء ملف تعريف ART ثنائي مكثّف خاص بحزمة APK. يمكن بعد ذلك لنظام ART الاستفادة من هذا الملف الشخصي عند تثبيت حزمة APK على الأجهزة من أجل تجميع مجموعة فرعية معيّنة من التطبيق مسبقًا لتحسين أداء التطبيق، لا سيما في التشغيل الأول. يُرجى العلم أنّ هذا الإجراء لن يؤثر في التطبيقات التي يمكن تصحيح أخطاءها.

  • يجب تسمية ملفات القواعد baseline-prof.txt ووضعها في الدليل الجذر لمجموعة المصادر الرئيسية (يجب أن يكون ملفًا أخًا لملف AndroidManifset.xml).

  • لن يتم استخدام هذه الملفات حاليًا إلا إذا كنت تستخدم الإصدار 7.0 أو الإصدارات الأحدث من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"، ولا يمكن تفعيلها حاليًا إلا باستخدام علامة في gradle.properties:

    # Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs
    android.experimental.enableArtProfiles=true
    

تتطلّب الملفات الشخصية توفُّر رصيد

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