يضيف Android Pie ميزة لمنع قتل الألعاب ذات ذاكرة الوصول العشوائي الثقيلة إذا خرجت عن طريق الخطأ

click fraud protection

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

في وقت سابق من اليوم، جوجل يعلن رسميا Android Pie لـ Google Pixel وGoogle Pixel 2. وبعد ذلك مباشرة، تم إصداره بشكل أساسي تحديث Android 9 للهاتف الأساسي. الأجهزة الأخرى التي شاركت في برنامج Android P beta، من المفترض أن يتلقى التحديث قريبًا، لذا فإن المستخدمين الذين تخطوا معاينة المطورين لديهم الآن الكثير من العمل للقيام به. بينما نتعمق في الإصدار الأخير بما في ذلك إسقاط التعليمات البرمجية المصدر على AOSP وأحدث مستند تعريف التوافق (CDD)، سنقوم بتزويدك بشكل دوري بأي معلومات جديدة نكتشفها. شيء مثير للاهتمام وجدناه في CDD وهو قسم للتطبيقات والألعاب "ذات الوزن الثقيل" (ذاكرة الوصول العشوائي الثقيلة) حيث سيعطي Android Pie الأولوية للاحتفاظ بهذه التطبيقات في ذاكرة الوصول العشوائي (RAM) في حالة خروج المستخدم عن طريق الخطأ هم.

تطبيقات وألعاب "ثقيلة الوزن" في Android Pie

تمت إضافة قسم جديد إلى العناية الواجبة الذي يحدد هذه الميزة. وهنا ما يقول:

3.17. تطبيقات الوزن الثقيل

إذا أعلنت تطبيقات الجهاز عن الميزة FEATURE_CANT_SAVE_STATE، فإنها:

  • [C-1-1] يجب أن يكون لديك تطبيق واحد مثبت فقط يحدد عدم إمكانية تشغيل SaveState في النظام في المرة الواحدة. إذا غادر المستخدم مثل هذا التطبيق دون الخروج منه بشكل صريح (على سبيل المثال، عن طريق الضغط على الصفحة الرئيسية أثناء ترك نشاط نشط في النظام، بدلاً من الضغط على "رجوع" دون الاستمرار الأنشطة النشطة في النظام)، فيجب أن تعطي تطبيقات الجهاز الأولوية لهذا التطبيق في ذاكرة الوصول العشوائي (RAM) كما تفعل مع الأشياء الأخرى التي من المتوقع أن تظل قيد التشغيل، مثل المقدمة خدمات. أثناء وجود مثل هذا التطبيق في الخلفية، لا يزال بإمكان النظام تطبيق ميزات إدارة الطاقة عليه، مثل الحد من الوصول إلى وحدة المعالجة المركزية والشبكة.
  • [C-1-2] يجب توفير إمكانية واجهة المستخدم لاختيار التطبيق الذي لن يشارك في آلية حفظ/استعادة الحالة الطبيعية بمجرد قيام المستخدم بتشغيل تطبيق ثانٍ مُعلن عنه بسمة cantSaveState.
  • [C-1-3] يجب عدم تطبيق تغييرات أخرى في السياسة على التطبيقات التي تحدد حالة عدم القدرة على الحفظ، مثل تغيير أداء وحدة المعالجة المركزية أو تغيير أولويات الجدولة.

إذا لم تعلن تطبيقات الجهاز عن الميزة FEATURE_CANT_SAVE_STATE ، بعد ذلك:

  • [C-1-1] يجب أن يتجاهل سمة cantSaveState التي حددتها التطبيقات ويجب ألا يغير سلوك التطبيق بناءً على تلك السمة.

في الأساس، هذا يعني أنه إذا كان الجهاز يدعم FEATURE_CANT_SAVE_STATE الميزة، فيجب عليهم إعطاء الأولوية للاحتفاظ في ذاكرة الوصول العشوائي (RAM) بالتطبيق قيد التشغيل الذي يحدد cantSaveState يصف. تبدأ أولوية ذاكرة الوصول العشوائي (RAM) في حالة خروج المستخدم من التطبيق أو اللعبة عن طريق الضغط على زر الصفحة الرئيسية أو مغادرة التطبيق أو اللعبة دون الخروج منها بشكل صريح (كما هو الحال عند الضغط على زر الرجوع) أو زر إنهاء.) علاوة على ذلك، لا يزال بإمكان النظام توفير الطاقة عن طريق تقييد الوصول إلى وحدة المعالجة المركزية والشبكة على تلك التطبيقات، لكن لا يمكنه تحرير ذاكرة الوصول العشوائي عن طريق قتلها إلا إذا كان ذلك ضروري. وأخيرًا، لاحظ أنه يُسمح بتشغيل تطبيق واحد فقط مع السمة cantSaveState المحددة. إذا حاولت تشغيل تطبيق آخر بهذه السمة المحددة أثناء تشغيل تطبيق آخر، فسيطلب منك Android Pie اختيار اللعبة التي تريد الاستمرار في تشغيلها.

يمكنك التحقق مما إذا كان جهازك يدعم FEATURE_CANT_SAVE_STATE عن طريق تشغيل الأمرين التاليين عبر ADB:

adb shell
dumpsys package | grep "cant_save_state"

للتحقق مما إذا كان التطبيق يحدد السمة cantSaveState، سيحتاج إلى إلغاء ترجمة التطبيق والنظر في بيانه أو استخدام الأمر dumpsys package package.name.here الأمر في قذيفة ADB. ضع في اعتبارك أن هذه السمة تمت إضافتها للتو في مستوى واجهة برمجة التطبيقات (API) 28 (Android 9 Pie)، لذا فمن غير المرجح أن تستفيد العديد من التطبيقات أو الألعاب من هذه الميزة حتى الآن.

ستكون هذه الميزة مفيدة بشكل لا يصدق للأجهزة التي تحتوي على كميات صغيرة من ذاكرة الوصول العشوائي و/أو التطبيقات التي تستهلك قدرًا كبيرًا من ذاكرة الوصول العشوائي. على سبيل المثال، لعبة Fortnite Mobile على نظام Android يتطلب ما لا يقل عن 3GB من ذاكرة الوصول العشوائي نظرًا لمقدار ذاكرة الوصول العشوائي (RAM) التي تستهلكها (حتى بدون تشغيل لعبة، كانت Fortnite Mobile تحتفظ بـ 1.6 جيجابايت من ذاكرة الوصول العشوائي على Google Pixel 2 XL.) إذا كانت Fortnite تستهدف SDK المستوى 28 واستخدام هذه الميزة، فهذا يعني أن الخروج من اللعبة عن طريق الخطأ سيؤدي إلى منعها من القتل على الفور إذا كان جهازك يعمل بشكل منخفض ذاكرة الوصول العشوائي المجانية. لسوء الحظ، فورتنايت يستهدف فقط مستوى SDK 21 في الوقت الحالي (Android 5.0 Lollipop)، لذلك من المؤسف أنه لا يستفيد من أحدث واجهات برمجة التطبيقات التي تقدمها Google في Android Pie، ناهيك عن Android Oreo أو Android Nougat أو Android Marshmallow. نأمل أن يتم تحديث الألعاب الأخرى للاستفادة من هذه الميزة. بحلول العام المقبل، جوجل سوف يتطلب منهم للتحديث إذا كانوا يريدون أن يتمكنوا من مواصلة إرسال التحديثات على متجر Google Play.