تقليل حجم تطبيقك الفوري

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

يتضمن هذا المستند أفضل الممارسات لإدارة بنية تطبيقك وحجمه الثنائي لتمكين تجربة تطبيق فوري سلسة. يمكنك تطبيق هذه الممارسات نفسها لإفادة تطبيقك القابل للتثبيت أيضًا.

إعادة البناء في وحدات متعددة للميزات

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

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

أفضل الممارسات

عند إعادة تنظيم تطبيقك، ضع أفضل الممارسات التالية في الاعتبار:

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

تعديل موارد التطبيقات

تحتوي بعض التطبيقات، وخاصةً تلك التي تحتوي على سجلات لقواعد الترميز، على موارد لم تعد تستخدمها البرامج الثنائية في تطبيقك. بينما تبحث عن طرق لتصغير وحدات التطبيق، ضع في اعتبارك المصادر الشائعة التالية للرموز البرمجية غير الضرورية.

تقليل حجم ملف الصور

يمكنك تقليل الحجم الإجمالي للعناصر القابلة للرسم في التطبيق بشكل كبير باستخدام تنسيق ملف WebP بدلاً من PNG. توفّر تقنية "تطبيقات Google Play الفورية" توافقًا تامًا مع WebP، بما في ذلك الشفافية والضغط بدون فقدان البيانات، وبالتالي تظل جودة الصور على حالها.

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

إزالة اللغات غير المستخدمة

إذا كان تطبيقك يتيح استخدام لغات متعددة، ننصحك بتقليل عدد الموارد المترجَمة بقدر الإمكان. ويكون من المفيد على وجه الخصوص إكمال هذه الخطوة إذا كنت تستخدم مكتبة "متوافقة مع التطبيق"، مثل android.support.v7.appcompat. تتضمن هذه المكتبة رسائل بلغات عديدة قد لا يتوافق تطبيقك معها.

للاطّلاع على المزيد من المعلومات، يمكنك الاطّلاع على كيفية إزالة الموارد البديلة غير المستخدَمة، وخاصةً اللغات غير المستخدَمة.

إزالة الملفات الإضافية

قد لا يستخدم تطبيقك بعض الموارد التي تم استيرادها إلى مشروعك بعد ذلك. وللمساعدة في إزالة هذه الموارد، تم إجراء فحص على "استوديو Android" لهذا الموقف المحدّد. لاستخدام الأداة، أكمل الخطوات التالية:

  1. اضغط على Control+Alt+Shift+I (Command+Alt+Shift+I في نظام التشغيل Mac).
  2. في مربع الحوار الذي يظهر، اكتب "unused resources".
  3. حدِّد خيار الموارد غير المستخدمة لبدء عملية فحص استخدام الموارد.

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

إزالة المكتبات غير المستخدَمة

مع توسع نطاق التطبيق، يمكن أن يأخذ عددًا كبيرًا من التبعيات، لا سيما أحد الأنواع التالية:

  • المكتبات الأصلية: المكتبات التي تحتوي على رموز برمجية أصلية لا يتم تشغيلها مطلقًا في تطبيقك الفوري.
  • التبعيات الانتقالية: المكتبات التي تعتمد عليها المكتبات التي تم استيرادها من تطبيقك.

يحتوي "استوديو Android" على العديد من الأدوات المفيدة لتحديد أي تبعيات غريبة في مشروع تطبيقك:

المكتبات الخارجية

تتضمن عرض المشروع في "استوديو Android" قسمًا المكتبات الخارجية.

يحتوي هذا القسم على كل مكتبة يستخدمها تطبيقك، بما في ذلك الكود الأصلي وجميع التبعيات الانتقالية. في هذا العرض، ابحث عن المكتبات غير المستخدمة أو المكرّرة التي لا يتطلبها تطبيقك.

أداة تحليل حِزم APK

يمكنك استخدام أداة تحليل APK لمقارنة الإصدارات المختلفة، بما في ذلك إصدارات التطبيقات الفورية.

بعد تحديد المكتبات التي لا يحتاجها تطبيقك، يمكنك استبعادها عن طريق إضافة أسطر مشابهة لما يلي إلى ملف إصدار Gradle:

<feature_module>/build.gradele

رائع

dependencies {
    implementation('some-important-but-large-library') {
        exclude group: 'com.example.imgtools', module: 'native'
    }
}

Kotlin

dependencies {
    implementation('some-important-but-large-library') {
        exclude(group = "com.example.imgtools", module = "native")
    }
}

لمزيد من المعلومات حول تقليل الحجم الإجمالي لعملية الاستيراد لتبعيات تطبيقك، يُرجى الاطّلاع على دليل Gradle حول إدارة التبعية.

تنفيذ إرسال الأصول في السحابة الإلكترونية

إذا كنت بحاجة إلى تقليص الحجم أكثر، قد تحتاج إلى الاعتماد على تسليم مواد العرض في السحابة الإلكترونية.