22 تغريدة 21 قراءة Aug 18, 2020
أهلين .. في ثريد اليوم بتكلم عن شيء مهم جداً لكل مبرمج تطبيقات وهو "Page Lifecycle" دورة حياة النافذة أو الصفحة
وبشرح بالتحديد Activity Lifecycle اللي هي مختصة لتطبيقات أندرويد، وإذا فهمتها بتفهم Page lifecycle لباقي الأنظمة أو التطبيقات الهايبرد
#معسكر_طويق_السيبراني #برمجة
قبل البدء، إذا كنت مهتم بالبرمجة أو التصميم، يسعدني متابعتك لحسابي
@omarrdev
يوجد فيه الكثير من التغريدات والثريدات المفيدة التي بتساعدك في حياتك البرمجية 💻
قراءة ممتعة👇
أول شيء لابد نعرف ايش هي Activity؟
باختصار Activity في الاندرويد هي النافذة
و Activity Lifecycle هي عدة أحداث "Events" تصير عند مرحلة معينة من LifeCycle
وهي ستة مراحل في الاندرويد كما موضح في الرسم، من خلالها يستطيع المبرمج عرض أو عمل أشياء مخصصة في كل مرحلة.
طبعاً النوافذ تنفتح فوق بعض في Ativity واحد رئيسي فارغ، لو تخيلنا انها زي الورقة وحطينا فوقها ورقة ثانية راح تحجب الورقة الأولى تمامًا والثالثة بتحجب الثانية وزي كذا.
يعني يتم تخزينها في Stack
المراحل الست هي:
أولاً: onCreate
تستخدم أول مايبدأ "Activity"، أي شيء تبغاه يتنفذ عند الإنشاء تكتبه هنا، وأكثر استخدامات لها هي تصريح المتغيرات "Initializing variable" واستدعاء محتوى ومكونات الصفحة مثل التصميم الكامل لها وغيره.
ثانيًا: onStart
تتنفذ أول ماتصير Activity ظاهرة للمستخدمة على الشاشة، سواء بعد onCreate أو بعد onRestart.
ممكن يكون فيها ملئ للحقول النصية اللي أدخلها المستخدم عندما يعود للصفحة بعد ما غادرها.
ثالثًا: onResume
تستدعى يوم يبدأ المستخدم بالتفاعل مع Activity "النافذة"، وزي مانشوف بعدها في الرسم المربع الاخضر اللي يدل ان Activity شغالة حاليا وتستقبل تفاعل المستخدم
رابعًا:onPause
تنفذ هذه الدالة في الفترة بين انتقال التطبيق من نافذة لأخرى،أو قبل انتقالها لحالة onstop او onDestroy .
فيه فترة بسيطة مايلحظها المستخدم أحياناً، يكون فيها تنفيذ هذه الدالة.
من استخداماتها مثلاً: حفظ الحقول النصية اللي ادخلها المستخدم عشان إذا رجع ما يكتبها مرة أخرى.
تنفيذ هذه الدالة لازم يكون سريع جدا لان Activity القادم ما بيشتغل الين ينتهي من هذه الدالة.
ملاحظة: تتنفذ وما زالت activity ظاهرة للمستخدم.
خامسًا: onStop
يتم استدعائها إذا اختفت activity من الظهور على الشاشة.
عشان توضح أكثر عندنا نافذتين A و B المستخدم حاليا على A في مرحلة Activity Ruuning إذا ضغط على زر ينقله ل B أو زر الهوم مثلا هنا يتنفذ OnPasue أولاً وتكون A ظاهرة
أول ماتختفي A من الشاشة هنا يتنفذ OnStop
إذا رجع المستخدم لنافذة A من نافذة B هنا فيه خيارين إما سيتوجه لحالة onStart من خلال onRestart إذا ما مسح النظام الذاكرة، أو يُوجه النظام لحالة OnCreate إذا تم مسح الذاكرة المؤقتة.
طبعًا في مرحلتي onStop و onPause تكون المعلومات مخزنة في الذاكرة المؤقتة وإذا رجع المستخدم للنافذة يأخذها منها، إلا في حالة أن النظام أحتاج لذاكرة إضافية والذاكرة فل، يقوم النظام بمسح البيانات للتطبيقات اللي في هذه الحالتين، زي ماتشوفون السهم الخارج من يسار حالتي onPasue و onStop
سادسًا: onDestroy
يتم تنفيذها قبل تنفيذ (إنهاء "تدمير" Activity ومسحها من الذاكرة).
طيب ايش سبب إنهاء Activity؟
1. إما Activity انتهت (بسبب استدعاء دالة finish أو أن المستخدم أنهاءها)
2. النظام يحتاج مساحة في الذاكرة.
ملاحظة: هذه المراحل "Events" خاصة بكل Activity وليس التطبيق، يعني كل نافذة في التطبيق تمر بهذه المراحل، وأنت كمبرمج تقدر تتسفيد منها مثلا تبغى كود معين يتنفذ في مرحلة معينة تكتبه داخل الدالة المخصصة لها.
طبعا في كل لغة أو نوع تطبيقات مثل الهايبرد Lifecycle خاص فيها بس في الغالب يكون بمسيات أخرى أو مو كل الميزات فيه.
مثلا في الصورة lifecycle لل ionic
وممكن تبحث عنها باستخدام lifecycle أو Event أو Event Handle
وبكذا يكون انتهينا، إذا رأيت ماقدمته مفيداً لك ريتويت ليستفيد الجميع😊
نلتقي في ثريد تقني أجمل قادم❤️
لمشاهدة بقية الثريدات التقنية
للاستفادة أكثر عن Activity Lifecycle تقدر ترجع لهذه المواضيع
#java" target="_blank" rel="noopener" onclick="event.stopPropagation()">developer.android.com
developer.android.com

جاري تحميل الاقتراحات...