إغلق الإعلان

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

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

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

نوع وقت تشغيل التطبيق

التطبيق الموجود على جهاز iOS الخاص بك موجود في إحدى الحالات الخمس التالية:

  • جري: يتم بدء تشغيل التطبيق وتشغيله في المقدمة
  • خلفية: لا يزال قيد التشغيل ولكنه يعمل في الخلفية (يمكننا استخدام تطبيقات أخرى)
  • معلق: لا تزال تستخدم ذاكرة الوصول العشوائي ولكن لا تعمل
  • غير نشط: التطبيق قيد التشغيل ولكن بأوامر غير مباشرة (على سبيل المثال، عند قفل الجهاز أثناء تشغيل التطبيق)
  • لا يعمل: تم إنهاء التطبيق أو لم يبدأ

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

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

مهام فى الخلفيه

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

تشغيل لأجل غير مسمى في الخلفية

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

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

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

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

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

لذلك، بشكل عام، لا تحتاج إلى إدارة العمليات الخلفية لأن النظام سوف يعتني بها بنفسه. لهذا السبب يعتبر نظام iOS نظامًا جديدًا وسريعًا.

من وجهة نظر المطور

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

1.applicationWillResignActive

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

2.applicationDidEnterBackground

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

3.applicationWillEnterForeground

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

4. applicationDidBecomeActive

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

5. applicationWillTerminate

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

6. applicationDidReceiveMemoryWarning

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

حكم

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

مصدر: Macworld.com

المؤلفون: جاكوب بوزاريك، مارتن دوبيك (ArnieX)

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

.