دورة حياة تطبيق Android

أساسي-دليل-برمجة-أندرويد -2

عندما تبدأ البرمجة بلغة مثل C ++ أو Java ، فإن أول شيء يتم تدريسه هو الطريقة الرئيسية ، وهي النقطة التي سيتصل بها نظام التشغيل عند بدء تطبيقنا.

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

تتبع دورة حياة Android هذا المخطط:

دورة حياة android

أحداث دورة الحياة

  1. onCreate (حزمة)
    • يمثل اللحظة عندما تم إنشاء النشاط. عادةً ما يتم إنشاء هذه الطريقة بواسطة المعالج عند إنشاء نشاط جديد على Android ، وهو المكان الذي سننشئ فيه كل ما يحتاجه النشاط. إذا كنا قد حفظنا بيانات النشاط مسبقًا في كائن حزمة ، فيمكننا استخدامها لإعادة إنشائه. في العادة لن نستخدمه.
  2. onStart ()
    • سيستمر النشاط إلى كن على الشاشة، على الرغم من أنها ليست مرئية بالضرورة. إذا أتينا من نقطة توقف ، فسنمر بـ onRestart () أولاً.
  3. onRestart ()
    • السابق لـ onStart () عندما نأتي من مكالمة إلى onStop ().
  4. onResume ()
    • سيبدأ النشاط الاستجابة للتفاعل المستعمل.
  5. onPause ()
    • سوف النشاط توقف عن الاستجابة لتفاعل المستخدم.
  6. onStop ()
    • ذهب النشاط بالكامل إلى خلفية.
  7. onDestroy ()
    • نشاط سيتم تدميره وأفرج عن الموارد الخاصة بك.

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

يوسع MyActivity للفئة العامة النشاط {protected void onCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState) ؛ ...} محمية باطل onStart () {super.onStart ()؛ ...} محمية باطلة onRestart () {super.onRestart ()؛ ...} محمية باطلة onResume () {super.onResume ()؛ ...} محمية باطلة onPause () {... super.onPause ()؛ } محمية باطل onStop () {... onStop ()؛ } محمية باطلة onDestroy () {... super.onDestroy ()؛ }}

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

لا يتعين علينا إضافة جميع الأحداث، تلك التي لا نحتاجها ستستخدم التنفيذ الافتراضي. الطرق التي سنستخدمها غالبًا - ولا نوصي بلمس الآخرين - هي onCreate و onPause و onRestart.

معنى onCreate واضح: إنه المكان الذي سنحمل فيه الموارد التي نحتاجها ووجهات النظر وأي شيء آخر نحتاجه. بالنسبة للإخراج ، الطريقة الوحيدة التي سنركز عليها هي onPause. سبب تجنب onStop و onDestroy هو أننا لا نملك أي سيطرة عليها. سيتم تشغيل onPause عندما يخرج التطبيق من المقدمة ، بينما سيتم تشغيل التطبيقين الآخرين بواسطة نظام التشغيل بناءً على احتياجاتك. قد لا يتم إعدامهم! يتم ذلك لتجنب تكلفة إنشاء النشاط مرارًا وتكرارًا إذا انتقلنا من النشاط إلى سطح المكتب والعكس صحيح ، وسيقوم نظام التشغيل فقط بتحرير الموارد المستخدمة إذا احتاج إليها ، ولن يضطر إلى الحضور جميعًا العمليات المفتوحة.

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

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

بعض الأفكار المفيدة

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

معلومات اكثر - الدليل الأساسي للبرمجة في Android


أنت مهتم بـ:
كيفية إزالة الفيروسات على Android
تابعونا على أخبار جوجل

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: مدونة Actualidad
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.