يوفّر Jetpack Compose أداءً ممتازًا بدون الحاجة إلى إجراء أي إعدادات. يمكنك ضبط تطبيقك باتّباع أفضل الممارسات لتجنُّب المشاكل الشائعة وتحسين أداء تطبيق Compose.
قياس أداء Jetpack Compose
للتحقّق من أداء Jetpack Compose مقارنةً بـ Views، نستخدم مقاييس الأداء الرئيسية، وهي مقاييس تركّز على رحلات المستخدمين المهمة في العالم الحقيقي، مثل بدء تشغيل تطبيق بارد أو تصفّح قائمة أو شبكة تحتوي على صور. ونجري هذه المقارنات باستخدام تطبيق Pokedex مفتوح المصدر، ونقارن بين عمليات تنفيذ Views وCompose.
توضّح هذه المقارنات أنّ الإصدار 1.9 من Compose والإصدارات الأحدث تتطابق مع أداء Views في ما يتعلّق بإيقاف مؤقت لعرض واجهة المستخدم أثناء التمرير.
للاطّلاع على مقاييس إضافية والتعرّف على منهجياتنا، يُرجى الاطّلاع على مقاييس الأداء الممتاز.
المفاهيم الرئيسية
في ما يلي بعض المفاهيم الأساسية المتعلّقة بالأداء في Compose:
- المراحل: من المهم فهم مراحل الإنشاء والتنسيق والرسم لتحسين طريقة تعديل Compose لواجهة المستخدم.
- ملفات Baseline Profile: تعمل هذه الملفات على الترجمة المسبقة للرموز الأساسية، ما يؤدي إلى تسريع عمليات تشغيل التطبيقات وتسهيل التفاعلات.
- الثبات: يمكنك زيادة ثبات تطبيقك لتخطّي عمليات إعادة الإصدار غير الضرورية بشكل أكثر فعالية، ما يؤدي إلى تحسين الأداء.
إعداد تطبيقك بشكل صحيح
إذا كان أداء تطبيقك ضعيفًا، قد تكون هناك مشكلة في الإعدادات. من الخطوات الجيدة الأولى مراجعة خيارات الإعداد التالية:
- إنشاء إصدار في "وضع الإصدار" باستخدام R8: جرِّب تشغيل تطبيقك في وضع الإصدار. يُعدّ وضع تصحيح الأخطاء مفيدًا في رصد العديد من المشاكل، ولكنّه يؤدي إلى انخفاض الأداء وقد يصعّب رصد مشاكل أخرى. عليك أيضًا تفعيل التحسين والتصغير باستخدام برنامج التجميع R8 لضمان إنشاء بنية إصدار فعّالة وعالية الأداء.
- استخدام "ملفات Baseline Profiles": تعمل "ملفات Baseline Profiles" على تحسين الأداء من خلال الترجمة المسبقة للرموز البرمجية الخاصة برحلات المستخدمين المهمة. يتضمّن Compose ملفًا شخصيًا تلقائيًا، ولكن من الأفضل إنشاء ملف شخصي خاص بالتطبيق أيضًا. مزيد من المعلومات حول "ملفات Baseline" في مستندات أداء Android العامة
الأدوات
تعرَّف على مجموعة الأدوات المتاحة لمساعدتك في قياس أداء تطبيق Compose وتحليله.
أفضل الممارسات
عند تطوير تطبيقك باستخدام Compose، يُرجى مراعاة أفضل الممارسات التالية:
- تجنُّب العمليات الحسابية المكلفة: استخدِم
rememberلتخزين نتائج العمليات الحسابية المكلفة مؤقتًا. - المساعدة في عرض التنسيقات الكسولة: قدِّم مفاتيح ثابتة للتنسيقات الكسولة باستخدام المَعلمة
keyلتقليل عمليات إعادة الإنشاء غير الضرورية. - الحدّ من عمليات إعادة الإنشاء غير الضرورية: استخدِم
derivedStateOfللحدّ من عمليات إعادة الإنشاء عند تغيير الحالة بسرعة. - تأجيل عمليات قراءة الحالة: يمكنك تأجيل عمليات قراءة الحالة لأطول فترة ممكنة من خلال تضمينها في دوال lambda.
- استخدام معدِّلات lambda لتغيير الحالة: استخدِم معدِّلات مستندة إلى lambda، مثل
Modifier.offset { ... }، لتغيير متغيرات الحالة بشكل متكرر. - تجنُّب عمليات الكتابة السابقة: لا تكتب أبدًا في الحالة التي تمت قراءتها من قبل في دالة مركّبة.
لمزيد من التفاصيل، يُرجى الاطّلاع على دليل أفضل الممارسات.
المشاهدات
إذا كنت تعمل باستخدام طرق العرض بدلاً من Compose، يُرجى الاطّلاع على الدليل المخصّص تحسين أداء التصميم.
موارد إضافية
- دليل أداء التطبيق: يمكنك الاطّلاع على أفضل الممارسات والمكتبات والأدوات لتحسين الأداء على Android.
- فحص الأداء: يمكنك فحص أداء التطبيق.
- قياس الأداء: يمكنك قياس أداء التطبيق.
- بدء تشغيل التطبيق: يمكنك تحسين سرعة بدء تشغيل التطبيق.
- ملفات تعريف المرجع: يمكنك التعرّف على ملفات تعريف المرجع.