قيود النماذج

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

يُرجى العلم أنّ هذا الحدّ ينطبق على عدد النماذج وليس على عدد مثيلات Screen في الحزمة. على سبيل المثال، إذا أرسل تطبيق نموذجين أثناء عرض الشاشة (أ) ثم عرض الشاشة (ب)، يمكنه الآن إرسال ثلاثة نماذج أخرى.

بدلاً من ذلك، إذا كانت كل شاشة منظَّمة لإرسال نموذج واحد، يمكن للتطبيق إرسال خمسة مثيلات شاشة إلى حزمة ScreenManager.

هناك حالات خاصة لهذه القيود، وهي عمليات إعادة تحميل النموذج وعمليات الرجوع وإعادة الضبط.

عمليات إعادة تحميل النماذج

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

عمليات الخلفية

لتفعيل التدفقات الفرعية ضمن مهمة، يرصد المضيف متى يعرض التطبيق Screen من حزمة ScreenManager، ويعدّل الحصة المتبقية استنادًا إلى عدد النماذج التي يتراجع التطبيق عنها.

على سبيل المثال، إذا أرسل التطبيق نموذجين أثناء عرض الشاشة (أ)، ثم انتقل إلى الشاشة (ب) وأرسل نموذجين آخرين، سيتبقى للتطبيق حصة واحدة. إذا عاد التطبيق بعد ذلك إلى الشاشة (أ)، يعيد المضيف ضبط الحصة إلى ثلاث، لأنّ التطبيق قد عاد إلى الخلف بمقدار نموذجين.

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

عمليات إعادة الضبط

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

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

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