يُعدّ الأداء على Wear OS من الاعتبارات الأساسية للتطبيقات، لأنّ العديد من أجهزة Wear OS تتضمّن موارد محدودة لوحدة المعالجة المركزية ووحدة معالجة الرسومات مقارنةً بالأجهزة الجوّالة الأكبر حجمًا. مع طرح رسومات متحركة أكثر ثراءً وتأثيرات ديناميكية في Material 3 Expressive، عليك التحقّق من صحة سير العمل الرئيسية في تطبيقك وتحسين أدائها.
استخدِم دليل أداء Jetpack Compose لإعداد تطبيقك وتطويره لتحقيق الأداء الأمثل باستخدام Jetpack Compose. يُبرز هذا المستند بعض الأساليب الموضّحة في هذا الدليل.
ضَع استراتيجيات لقياس الأداء واتّبِعها للتأكّد من أنّ هذه الأساليب تعمل على النحو المتوقّع في تطبيقك.
تقنيات أساسية لتحسين الأداء
ابدأ بأنواع أدوات الأداء الأكثر فعالية، وهي ملفات Baseline Profiles (بما في ذلك ملفات تعريف بدء التشغيل) وأداة تحسين الرموز البرمجية R8.
يجب تحديث اعتمادية Compose إلى الإصدار 1.8 أو إصدار أحدث، والذي يتضمّن العديد من الميزات الجديدة المهمة ويحسّن الثبات العام للمكتبة. اطّلِع على التعليمات الواردة في تعريف التبعيات لمعرفة كيفية التحديث. لمزيد من المعلومات، يمكنك الاطّلاع على مدوّنتنا حول الإصدار 1.8 وجلسة "الميزات الجديدة في Compose" في مؤتمر I/O.
ملفات التعريف الأساسية
لتحسين أداء تطبيقك، استخدِم ملفات المرجع. جمِّع الفئات والطُرق التي تمثّل أهم إجراءات سير العمل في تطبيقك، والتي يمكن للنظام تجميعها مسبقًا باستخدام ملف تعريف أساسي. ويمكن أن يؤدي ذلك إلى تقليل أوقات بدء التشغيل، والحد من اللقطات غير السلسة، وتقديم تحسينات إضافية في الأداء.
تتضمّن كل مكتبة من مكتبات Jetpack Compose قواعد الملف الشخصي الخاصة بها. عندما يعتمد تطبيقك على مكتبة، يتم تلقائيًا دمج قواعد الملف الشخصي للمكتبة وتوزيعها مع حزمة APK الخاصة بتطبيقك لإجراء عملية التحويل المسبق.
يمكنك التحقّق من صحة ملفاتك الأساسية باستخدام الطرق التالية:
- استخدام اختبارات macrobenchmark
- استخدِم أوامر ADB محدّدة للتحقّق من صحة حالة ضبط ملف تطبيقك. يتم شرح خطوات كلتا الطريقتَين في دليل قياس الأداء والتحقّق من صحته.
ملفات الشركات الناشئة
باعتبارها مجموعة فرعية من ملفات Baseline Profiles، تعمل ملفات تعريف بدء التشغيل على تحسين الفئات والطُرق التي تحتوي عليها بشكل أكبر لتقليل وقت استجابة بدء تشغيل التطبيق.
ستؤدي إضافة ملف إعداد إلى زيادة حجم حزمة APK الخاصة بتطبيقك، لذا قبل إضافة ملف إعداد إلى إصدارك العلني، احرص على تقييم المفاضلة بين حجم حزمة APK ووقت استجابة بدء التشغيل.
للبدء، يُرجى قراءة المقالة إنشاء ملف شخصي لشركة ناشئة.
R8
استخدِم المحوّل البرمجي R8 لتصغير التطبيقات وتحسينها. يزيل R8 الرموز والموارد غير المستخدَمة، ويعيد كتابة الرموز لتحسين أداء وقت التشغيل، وغير ذلك.
في أدلة نظرة عامة على تحسين الأداء، اطّلِع على الاعتبارات المتعلّقة بأداة R8، بما في ذلك الخطوات الرئيسية لإزالة الموارد غير المستخدَمة.
قياس الأداء والتحقّق من صحته
للتعرّف على استراتيجيات قياس الأداء العامة على Android، اطّلِع على نظرة عامة على قياس أداء التطبيق. يوضّح هذا القسم بعض الأساليب التي تم تناولها في تلك المستندات.
اختيار تنويعة التصميم للقياسات
على الرغم من أنّ وضع تصحيح الأخطاء مفيد في رصد العديد من المشاكل، إلا أنّه يفرض تكلفة أداء كبيرة، ولا يستخدم ملفات تعريف أساسية، ويمكن أن يصعّب رصد مشاكل الرموز البرمجية التي قد تؤثّر في الأداء.
لفهم أداء تطبيقك بدقة، شغِّله في وضع الإصدار.
لا تستخلص استنتاجات نهائية بشأن الأداء إلا من الاختبارات التي يتم إجراؤها على التطبيقات التي تعمل بخيارات الإصدار العلني وعلى أجهزة حقيقية.
ومع ذلك، عند إجراء اختبارات قياس الأداء، استخدِم تنويعة التصميم الخاصة باختبارات قياس الأداء، والتي تتضمّن بعض الاختلافات الرئيسية عن تصحيح الأخطاء في الإصدار. راجِع دليل إعداد Macrobenchmark للاطّلاع على التفاصيل.
التحقّق من صحة ملفات تعريف خط الأساس لتطبيقك
ابدأ بالتحقّق من حالة ملفك التجاري:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
إذا لم تكن الحالة status=speed-profile، يعني ذلك أنّه لم يتم تطبيق قواعد الملف الشخصي بعد لتحسين التطبيق.
يتم تطبيق القواعد باستخدام مهمة تعمل في الخلفية عند شحن الجهاز وعدم استخدامه. لتفعيل ذلك يدويًا، نفِّذ الأمر التالي بعد تشغيل التطبيق وبعد مرور وقت كافٍ كي يتمكّن برنامج تثبيت الملف الشخصي من بدء تشغيل الملف الشخصي في الخلفية. تستغرق هذه العملية عادةً 40 ثانية تقريبًا.
adb shell cmd package bg-dexopt-job
بعد ذلك، أعِد تنفيذ الأمر السابق للتأكّد من أنّ الحالة هي speed-profile.
في الحالات التي يتم فيها التحسين عند التثبيت، اطّلِع على التحميل الجانبي للملف الأساسي.
UI Automator API
تتيح UI Automator API إمكانية التشغيل الآلي للتفاعلات آليًا. استخدِم واجهة برمجة التطبيقات هذه لتقييم أجزاء منفصلة من واجهة المستخدم عند فحص تجارب المستخدمين بحثًا عن تحسينات محتملة.
اختبارات Macrobenchmark
تختبر مقاييس الأداء الشامل حالات استخدام أكبر لتطبيقك، خاصةً بدء تشغيل التطبيق وعمليات معالجة واجهة المستخدم المعقّدة. للبدء، راجِع دليل التنفيذ.
للاطّلاع على مثال حول استخدام مقاييس الأداء الشاملة للتحقّق من أداء ملفات التعريف الأساسية، يُرجى الاطّلاع على نماذج الأداء على GitHub.
JankStats Library
استخدِم مكتبة JankStats لتتبُّع مشاكل الأداء وتحليلها في التطبيقات.
للاطّلاع على مثال، راجِع نموذج JankStats على GitHub.
تتبُّع النظام
باستخدام أنواع الرسوم المتحركة الجديدة التي تم طرحها في Material 3 Expressive، يمكنك استخدام ميزة تتبُّع النظام في "استوديو Android" لفحص وتحديد أسباب التأخير في مسارات المستخدمين التي قد تتضمّن مشاكل. باستخدام هذه المعلومات، يمكنك التحقّق من محتوى ملفاتك الأساسية وتحديد أوجه القصور المحتملة في منطق الرمز البرمجي.
أدوات إضافية
بالإضافة إلى أدوات تحسين الأداء، يمكنك استخدام أدوات أخرى لتحسين إنتاجيتك وسير عملك.
أدوات الإنتاجية في "استوديو Android"
يوفّر "استوديو Android" العديد من الأدوات التي يمكن أن تقلّل الوقت الذي تستغرقه في تحديد التحسينات على الأداء.
على سبيل المثال، باستخدام أدوات مثل التعديل في الوقت الفعلي والمعاينات القابلة للإنشاء، يمكنك تحديد عناصر واجهة المستخدم غير السلسة، بالإضافة إلى المناطق المرتبطة بها في الرمز البرمجي لتطبيقك، وذلك بهدف تحسين الأداء.
أجرِ جميع اختبارات الأداء النهائية على مجموعة من أجهزة Wear OS الفعلية التي تمثّل قاعدة المستخدمين المستهدَفة بدقة.
ويكون ذلك مهمًا بشكل خاص عند الانتقال إلى Material 3 Expressive، التي توفّر ميزات، مثل الخطوط المرنة وتغيير الأشكال، في تطبيقك.
إذا كنت بصدد نقل البيانات من طرق العرض، اطّلِع على دليل نقل البيانات وأفضل الممارسات لتحسين أداء Jetpack Compose للتأكّد من أنّ واجهات المستخدم في تطبيقك تعمل بشكل جيد عند استخدام Jetpack Compose.
مراجع أخرى
للاطّلاع على آخر الأخبار المتعلقة بأداء Android، يمكنك مراجعة آخر الأخبار والفيديوهات في دليل أداء التطبيق.