أداة تثبيت ملف شخصي
آخر تعديل | الإصدار المستقر | إصدار المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
3 أيار (مايو) 2023 | 1.3.1 | - | - | - |
إعلان التبعيات
لإضافة تبعية على 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.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)
. - تمت إضافة رمز بيانات تشخيص لرصد الملفات الشخصية الأساسية المضغوطة. لا يمكن لأداة تثبيت الملفات الشخصية المضغوطة تثبيت الملفات الشخصية المرجعية المضغوطة في مقاييس ماكرو أو في مرحلة الإنتاج بسبب الأعباء المتزايدة على وحدة المعالجة المركزية، ويجب تجنُّب ذلك عند إنشاء تطبيقك من خلال التحديث إلى 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 ثوانٍ عن استخدام وحدة المعالجة المركزية (CPU) أثناء بدء التشغيل، ولذلك تمت إضافة بيانات تشخيصية لاكتشاف الملفات الشخصية الأساسية المضغوطة بشكل غير صحيح. (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
تشرين الثاني (نوفمبر) 2022
تم إطلاق "androidx.profileinstaller:profileinstaller:1.3.0-alpha02
". يحتوي الإصدار 1.3.0-alpha02 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة عنصر جذب للمعايير لإسقاط ذاكرة التخزين المؤقت لأداة التظليل، لضمان أداء متسق للشركات الناشئة الناشئة، خاصةً عند إنشاء ملفات شخصية من التكرارات التجريبية. هذا التحديث مطلوب لقياس عمليات بدء التشغيل على البارد باستخدام الإصدار
benchmark-macro-junit4:1.2.0-alpha05
أو الإصدارات الأحدث. للاطّلاع على التغييرات في واجهة برمجة التطبيقات لمكتبة مقاييس الأداء، يُرجى الرجوع إلى صفحة مقياس الأداء 1.2.0-ألفا07. (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 والمستخدَم في الإصدار 12 من نظام التشغيل Android والإصدارات الأحدث.
- إضافة واجهات برمجة تطبيقات جديدة في
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-الإصدار التجريبي 02.
الإصدار 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 على هذه الالتزامات.
تم تحديثه ليكون متوافقًا مع Compose 1.0.1.
الإصدار 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 على هذه الالتزامات.
هذا إصدار RC بدون تغييرات من الإصدار التجريبي.
الإصدار 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 من نظام التشغيل Android Gradle Plugin أو الإصدارات الأحدث، وتم تفعيلها حاليًا فقط باستخدام علامة في
gradle.properties
:# Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs android.experimental.enableArtProfiles=true
تتطلب الملفات الشخصية رصيدًا
- إن الملفات الشخصية المصممة بشكل مناسب والتي تعطي الأولوية للأساليب والفئات التي ستكون في مسار بدء التشغيل ومستوى الأداء الحرج سوف تسفر عن أفضل النتائج، إلا أن تضمين عدد كبير جدًا من الطرق أو الفئات في الملفات الشخصية يمكن أن يكون له تأثير سلبي صافي من حيث استهلاك الذاكرة واستخدام القرص، لذلك يوصى بالبدء بشكل متحفظ إذا قمت بتحديد قواعد الملف الشخصي الخاصة بك.