حِزم الاستعداد للتطبيقات

يتوافق Android 9 (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث مع حزم التطبيقات في وضع الاستعداد. وضع الاستعداد للتطبيقات تساعد المجموعات النظام في تحديد أولوية التطبيقات. طلبات الموارد بناءً على مدى مؤخرًا ومدى تكرار استخدام التطبيقات استنادًا إلى أنماط استخدام التطبيقات، تطبيقك في واحدة من خمس حِزم ذات أولوية. يحدّ النظام من موارد الأجهزة المتاحة لكل تطبيق استنادًا إلى الحزمة التي يندرج تحتها التطبيق.

مجموعات البيانات ذات الأولوية

ويحدِّد النظام كل تطبيق ديناميكيًا ضمن مجموعة أولويات، ويعيد تحديد التطبيقات حسب الحاجة. قد يعتمد النظام على تطبيق تم تحميله مسبقًا ويستخدم الجهاز. معرفة كيفية تحديد مدى احتمالية استخدام كل تطبيق، وتعيين التطبيقات والحزم المناسبة.

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

في ما يلي مجموعات بيانات الأولوية:

  • نشط: التطبيق قيد الاستخدام أو تم استخدامه مؤخرًا.
  • مجموعة العمل: التطبيق قيد الاستخدام العادي.
  • كثيرًا: يتم استخدام التطبيق كثيرًا ولكن ليس يوميًا.
  • نادرًا: لا يتم استخدام التطبيق بشكل متكرّر.
  • محظور: يستهلك التطبيق الكثير من موارد النظام أو قد يعرض السلوك غير المرغوب فيه.

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

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

نشِط

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

  • يؤدي إلى تشغيل نشاط.
  • تشغيل خدمة تعمل في المقدّمة لفترة طويلة
  • النقر عليه من قِبل المستخدم من إشعار

إذا كان التطبيق في الحزمة النشطة، لن يفرض النظام أي قيود على وظائف التطبيق أو المنبهات.

يؤدي تفاعل المستخدم إلى تعيين التطبيقات على أنّها نشطة.

على نظام التشغيل Android 9 (المستوى 28 من واجهة برمجة التطبيقات) والإصدارات الأحدث، عندما يتفاعل المستخدم مع تطبيقك طرق معيّنة، يضع النظام تطبيقك مؤقتًا في الحزمة النشطة. بعد أن يتوقف المستخدم عن التفاعل مع تطبيقك، يضعه النظام في استنادًا إلى سجلّ الاستخدام.

في ما يلي أمثلة على التفاعلات التي تؤدي إلى سلوك النظام هذا:

  • ينقر المستخدم على الإشعار الذي يرسله تطبيقك.

  • يتفاعل المستخدِم مع الخدمة التي تعمل في المقدّمة في تطبيقك من خلال النقر على وسائط .

  • يتصل المستخدم بتطبيقك أثناء التفاعل مع Android Automotive. نظام التشغيل، عندما يستخدم تطبيقك إما خدمة تعمل في المقدّمة أو CONNECTION_TYPE_PROJECTION

مجموعة العمل

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

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

متكررة

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

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

إنجاز نادر

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

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

محظور

تحظى هذه الحزمة، التي تمت إضافتها في Android 12 (المستوى 31)، على الأقل أولوية أعلى القيود بين جميع المجموعات. ويراعي النظام السلوك، مثل عدد المرات التي يتفاعل فيها المستخدم معها، لتحديد ما إذا كان وضع تطبيقك في الحزمة المحظورة

في الإصدار 13 من نظام التشغيل Android (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يضع النظام تطبيقك في المجموعة المحظورة في الحالات التالية، ما لم يكن مؤهلاً للحصول على إعفاء:

  • عدم تفاعل المستخدم مع تطبيقك لعدد محدّد من الأيام مشغَّلة Android 12 (المستوى 31) و12L (المستوى 32 لواجهة برمجة التطبيقات)، عدد الأيام هو 45. يقلل نظام التشغيل Android 13 عدد الأيام إلى 8.

  • يستدعي تطبيقك عددًا كبيرًا جدًا من عمليات البث أو عمليات الربط خلال 24 ساعة

إذا وضع النظام تطبيقك في الحزمة المحظورة، يجب استيفاء الشروط التالية: تنطبق القيود:

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

الإعفاءات من الحزمة المحظورة

تُستثنى الأنواع التالية من التطبيقات من الدخول إلى الحِزمة المحظورة تجاوز مشغِّل عدم النشاط، حتى على نظام التشغيل Android 12 والإصدارات الأحدث:

تقييم مجموعة البيانات ذات الأولوية

لمعرفة الحزمة التي تم تخصيص تطبيقك لها، يمكنك تنفيذ أحد الإجراءات التالية:

  • يمكنك الاتصال بالرقم getAppStandbyBucket().

  • شغِّل الأمر التالي في نافذة طرفية:

    adb shell am get-standby-bucket PACKAGE_NAME

يحدّ النظام من أداء تطبيقك عند وضعه في مجموعة "تطبيقات في وضع الاستعداد" التي تكون قيمتها أكبر من STANDBY_BUCKET_ACTIVE (10).

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

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

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

  • إذا لم يعرض التطبيق إشعارًا عند تلقّي أولوية عالية رسالة "المراسلة عبر السحابة الإلكترونية من Firebase " (FCM)، لا يمكن للمستخدم التفاعل مع التطبيق وبالتالي ترويجه في الحزمة النشطة. في الواقع، إن الهدف الوحيد استخدامها لرسائل "المراسلة عبر السحابة الإلكترونية من Firebase" ذات الأولوية العالية في إرسال إشعار إلى المستخدم، وبالتالي في حالة عدم حدوث هذا الموقف. على الإصدار 12L (المستوى 32 لواجهة برمجة التطبيقات) والإصدارات الأقدم، إذا إذا وضعت علامة بشكل غير ملائم على رسالة "المراسلة عبر السحابة الإلكترونية من Firebase" على أنها ذات أولوية عالية، وذلك في حال عدم تؤدي إلى تفاعل المستخدم، فقد يؤدي ذلك إلى خفض أولوية الرسائل المستقبلية.

  • في حال تقسيم التطبيقات على حزم متعددة، قد تكون هذه الحِزم في الحزم المختلفة ولها مستويات وصول مختلفة. اختبِر هذه التطبيقات باستخدام الحِزم المخصّصة لحِزم مختلفة للتأكّد من سلوك التطبيق بشكلٍ سليم.