أداة تثبيت ملف شخصي

  
تمكين المكتبات من التعبئة التلقائية لعمليات تتبع التجميع قبل الوقت لكي تتم قراءتها بواسطة ART.
التعديل الأخير الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
7 شباط (فبراير) 2024 1.3.1 - - 1.4.0-alpha01

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

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

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

رائع

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

Kotlin

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

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

ملاحظات

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

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

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

الإصدار 1.4

الإصدار 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).
  • تتم إضافة بث هيكل جديد يتيح استخدام ميزة "التركيز الفائق" لتدفق بيانات الملف الشخصي داخل الذاكرة بشكل كامل إلى القرص، لتضمينها في إنشاء الملف الشخصي الأساسي. هذا الإجراء مطلوب لاستخدام مكتبة مقاييس الأداء الكلية لتسجيل الملفات الشخصية المرجعية باستخدام BaselineProfileRule وتقييم أداء الملف الشخصي باستخدام CompilationMode.Partial(warmupIterations).
  • تمت إضافة رمز تشخيص لرصد الملفات الشخصية المرجعية المضغوطة. لا يمكن لأداة تثبيت الملفات المرجعية المضغوطة تثبيت الملفات الشخصية الأساسية في مقاييس الأداء الفائق أو في مرحلة الإنتاج بسبب الاستخدام الزائد لوحدة المعالجة المركزية (CPU)، ويجب تجنُّب ذلك أثناء إنشاء التطبيق من خلال التحديث إما إلى 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 هذه الالتزامات.

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

  • يوفر هذا الوضع إمكانية التعامل مع الملفات الشخصية المضغوطة، حيث يؤدي فتح الملفات وفك ضغطها إلى تراجع استخدام وحدة المعالجة المركزية (CPU) لمدة 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)
  • تتم إضافة بث هيكل جديد يتيح استخدام ميزة "التركيز الفائق" لتدفق بيانات الملف الشخصي داخل الذاكرة بشكل كامل إلى القرص، لتضمينها في إنشاء الملف الشخصي الأساسي. هذا الإجراء مطلوب لاستخدام مكتبة مقاييس الأداء الكلية لتسجيل الملفات الشخصية المرجعية باستخدام 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 هذه الالتزامات.

  • ليست هناك تغييرات مطلوبة لدعم إصدارات Compose 1.2.0-beta02.

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

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

  • تم التحديث للتوافق مع Compose 1.1.0-beta03

الإصدار 1.1.0-beta02

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

تم طرح "androidx.profileinstaller:profileinstaller:1.1.0-beta02". يتضمّن الإصدار 1.1.0 -beta02 هذه الالتزامات.

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

  • تم التحديث للتوافق مع Compose 1.1.0-beta02

الإصدار 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 على هذه الالتزامات.

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

  • أصلِح مشاكل تحويل ترميز أداة تثبيت الملف الشخصي على الأجهزة 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" حتى تسهِّل على التطبيقات التي تستخدم الملفات الشخصية المرجعية تنفيذ "مقاييس الأداء الفائق" باستخدام "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 على هذه الالتزامات.

تم تحديثه ليصبح متوافقًا مع Compose 1.1.0-alpha01.

الإصدار 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 هذه الالتزامات.

  • تم التحديث للتوافق مع Compose 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-01 للاطّلاع على مزيد من المعلومات عن قواعد الملف الشخصي هذه وآلية عملها.

الإصدار 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 API.

ما هي قواعد الملف الشخصي؟

  • يتم تحديد قواعد الملف الشخصي للمكتبة في ملف نصي 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> واصفًا للفئة التي تنتمي إليها الطريقة المستهدَفة. على سبيل المثال، يجب وصف السمة Landroidx/compose/runtime/SlotTable; للصف androidx.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
    

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

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