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