تجميد العمليات في الخلفية بدون الجذر (Android 7.0+)

يوضح لك هذا البرنامج التعليمي كيفية تجميد العمليات الخلفية لأي تطبيق على Android 7.0 و7.1 Nougat بدون جذر باستخدام أمر ADB المخفي.

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

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

ومع ذلك، فإن الغالبية العظمى من المستخدمين لن يتمكنوا من رؤية Android O على أجهزتهم لعدة أشهر من الآن (إن وجدوا على الإطلاق). ولكن إذا كنت تقوم بتشغيل

أندرويد 7.0 أو أندرويد 7.1، هناك خدعة بسيطة يمكنك القيام بها يدويًا منع تشغيل أي تطبيق في الخلفية - وهذا لا يتطلب الجذر أو تطبيق طرف ثالث. يعد هذا أقوى مما تقدمه Greenify أو تطبيقات مثل Brevent، لأنه بدون الوصول إلى الجذر، تكون هذه التطبيقات محدودة إلى حد ما في ما يمكنها القيام به. ولكن مع هذه الخدعة، يمكنك الآن حظر التطبيقات مثل Facebook أو Hangouts من التشغيل في الخلفية - فهي ستعمل فقط عندما يتم استخدامها بشكل نشط!


تقييد العمليات الخلفية البرنامج التعليمي

متطلبات:

  • جهاز أندرويد نوجا (7.0 أو 7.1).
  1. قم بتثبيت برامج تشغيل USB لجهازك المعين OEM (توفر Google قائمة ببعض برامج تشغيل USB العالمية هنا).
  2. تحميل بنك التنمية الآسيوي ثنائي لنظام التشغيل الخاص بك (شبابيك, ماك, لينكس). ستشير هذه الروابط دائمًا إلى أحدث إصدار من البرنامج الثنائي.
  3. قم باستخراج محتويات ملف ZIP إلى مجلد يسهل الوصول إليه على جهاز الكمبيوتر الخاص بك.
  4. انتقل إلى تطبيق الإعدادات على هاتفك وانقر على خيار حول الهاتف.
  5. ابحث عن رقم البنية واضغط عليه 7 مرات لتمكين وضع المطور.
  6. ارجع إلى قائمة الإعدادات الرئيسية وأدخل خيارات المطور حتى تتمكن من تمكين وضع تصحيح أخطاء USB.
  7. قم بتوصيل هاتفك بالكمبيوتر وقم بتغييره من وضع "الشحن فقط" إلى وضع "نقل الملفات (MTP)". هذا ليس ضروريًا على كل الأجهزة ولكن العديد من الأجهزة تتطلب ذلك كإجراء أمني قبل السماح لـ ADB بالعمل.
  8. ارجع إلى جهاز الكمبيوتر واستعرض للوصول إلى الدليل الذي قمت باستخراج ملف ADB الثنائي منه.
  9. قم بتشغيل موجه الأوامر أو المحطة الطرفية في دليل ADB الخاص بك. بالنسبة لمستخدمي Windows، يمكن القيام بذلك عن طريق الضغط على مفتاح Shift والنقر بزر الماوس الأيمن ثم تحديد خيار "فتح موجه الأوامر هنا". (قد يرى بعض مستخدمي Windows 10 استبدال "موجه الأوامر" بـ "PowerShell".)
  10. بمجرد أن تكون في موجه الأوامر أو البيئة الطرفية، أدخل الأمر التالي: adb devices
  11. سيؤدي هذا إلى بدء تشغيل برنامج ADB إذا لم يتم تشغيله بالفعل، فما عليك سوى الانتظار حتى ينتهي. إذا كانت هذه هي المرة الأولى التي تقوم فيها بتشغيل ADB، فسترى أيضًا مطالبة على هاتفك تطلب منك السماح بالاتصال بالكمبيوتر. السماح بالوصول إلى تصحيح أخطاء USB هنا.
  12. الآن، إذا قمت بإعادة تشغيل أمر adb devices من الخطوة 10، فسيقوم موجه الأوامر/المحطة الطرفية بطباعة الرقم التسلسلي لجهازك. إذا كان الأمر كذلك، فأنت على استعداد للمضي قدمًا. إذا لم يكن الأمر كذلك، فمن المحتمل أنه لم يتم تثبيت برامج تشغيل USB بشكل صحيح.
  13. ستحتاج بعد ذلك إلى العثور على اسم الحزمة للتطبيق الذي تريد تجميد العمليات الخلفية فيه. يمكنك القيام بذلك عن طريق تثبيت مفتش التطبيق التطبيق على هاتفك.
  14. ارجع إلى موجه الأوامر وأدخل الأمر التالي: adb shell
  15. الآن قم بتنفيذ الأمر التالي لتحرير العمليات الخلفية للتطبيق: cmd appops set RUN_IN_BACKGROUND ignore
  16. إذا كنت تريد التراجع عن التغيير الذي أجريته للتو والسماح بعمليات خلفية التطبيق مرة أخرى، فأدخل هذا الأمر: cmd appops set RUN_IN_BACKGROUND allow
  17. ستعرف أنه يعمل إذا أعادك إلى موجه shell آخر لـ ADB ولم يعطيك رسالة خطأ.

توضيح

كيف يعمل هذا الأمر بالضبط هو أنه يسمح لك بتقييد الإذن المخفي الذي لا يمكن للمستخدم الوصول إليه عادةً في تطبيق الإعدادات. يُسمى هذا الإذن إذن RUN_IN_BACKGROUND والطريقة الوحيدة التي يمكن تعديله بها هي استخدام "cmd" appops" وهي واجهة سطر الأوامر لـ "App Ops" - نظام إدارة الأذونات الذي يواجه المستخدم من Google.

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

من خلال إزالة التبعيات على خدمات الخلفية للتطبيق وأجهزة استقبال البث الضمنية المسجلة، يمكن للمطورين تحسين تطبيقاتهم لتعمل بشكل أفضل على الأجهزة ذات الذاكرة المنخفضة. تقول Google إن التطبيقات المُحسّنة لهذه الأنواع من الأجهزة، أو تلك التي تكون في ظروف ذاكرة منخفضة، يمكنها تحسين الأداء بالإضافة إلى تجربة المستخدم. أعلنت الشركة في Google I/O هذا العام نسخة معدلة من Android تسمى Android Go، والذي سيتم استخدامه للهواتف الذكية ذات الذاكرة المنخفضة جدًا، لذلك نفترض أن هذا الأمر سيكون مفيدًا للمطورين الذين يهدفون إلى استخدام هذا النظام الأساسي.

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