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

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

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

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

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

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

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

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

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

نشِط

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

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

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

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

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

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

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

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

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

مجموعة العمل

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

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

متكررة

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

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

إنجاز نادر

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

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

محظور

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

على Android 13 (المستوى 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" على أنها ذات أولوية عالية بشكل غير ملائم في حال عدم تؤدي إلى تفاعل المستخدم، فقد يؤدي ذلك إلى خفض أولوية الرسائل المستقبلية.

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