activity lifecycle

activity lifecycle

چرخه حیات Activity در زامارین

Activityها پایه های اصلی اپلیکیشن های اندروید هستند و می توانند در حالت های مختلف وجود داشته باشند.چرخه حیات activity با یک instantiation شروع و با destruction با پایان می رسد. در این بین حالت های مختلفی را شامل می شود. زمانی که حالت activity تغییر می کند متد مناسب چرخه حیات فراخوانی می شود و activity را از یک تغییر حالت ناگهانی مطلع می سازد و به منظور انطباق با این تغییر اجازه اجرای کد را به آن می دهد. این مقاله به بررسی چرخه حیات activityها و مسئولیتی که هر activity در طول مدت تغییرات به منظور رفتار بهتر و اعتبار اپلیکیشن دارد را توضیح می دهد.

بررسی اجمالی

Activityها یک مفهوم برنامه نویسی غیر معمول مختص اندروید است. در توسعه نرم افزار سنتی معمولا یک متد static main وجود دارد که در زمان اجرا اپلیکیشن را launch می کند. در اندروید همه چیز متفاوت است. اپلیکیشن های اندروید می توانند از طریق هرگونه فعالیت ثبت شده داخل یک اپلیکیشن launch شوند. در عمل، اکثر اپلیکیشن ها تنها یک activity خاص دارند که به عنوان نقطه ورود اپلیکیشن مشخص می شوند. با این حال اگر اپلیکیشن crash کند یا با یک سیستم عامل terminate شود، سیستم عامل می تواند در آخرین activity باز یا هر جای دیگری داخل استک قبلی اپلیکیشن را ریست کند. علاوه بر این سیستم عامل ممکن است در activityها در زمانی که فعال نیستند وقفه ایجاد کنند و زمانی که حافظه کمی مصرف می کند آن را اصلاح کند.
در این بخش جزئیات چرخه حیات activity توضیح داده خواهد شد:
1- حالت های activity
2- متدهای چرخه حیات
3- حفظ حالت یک اپلیکیشن

چرخه حیات Activity

چرخه حیات activity شامل کلکسیونی از متدهاست و در معرض کلاس activity قرار دارد که برنامه نویسان با مدیریت منابع فریم ورک ارائه می کنند. این فریم ورک اجازه می دهد تا برنامه نویسان حالت های یونیک مدیریت درخواست در هر activity داخل اپلیکیشن را دیده و منابع را به درستی مدیریت کنند.

حالت های Activity

سیستم عامل اندروید بر اساس حالت های activityها قضاوت می کند. این مسئله به اندروید کمک می کند تا activityهایی را که به مدت طولانی استفاده نمی شوند شناسایی کند و به سیستم عامل اجازه می دهد تا حافظه و منابع را اصلاح کند. دیاگرام زیر حالت های activity در طول زمان حیات آن نشان می دهد:

Activity States

این حالت ها را می توان به 4 گروه اصلی تقسیم کرد:
1-Active or Running: به طور کلی activityها با فعال بودن یا در حال اجرا بودن در پیش زمینه یا در بالای استک activity بودن سنجیده می شوند. این مورد در activity اندروید بالاترین اولویت قرار دارد و می تواند در شرایط بد توسط سیستم عامل حذف شود مثلا زمانی که activityای سعی کند بیشتر از حافظه موجود در دسترس استفاده کند به طوری که دیگر قادر به پاسخگویی UI آن نباشد.
2-Paused: زمانی که دستگاه به حالت sleep می رود یا زمانی که activity هنوز قابل مشاهده است اما بخشی از آن غیرقابل مشاهده است، activity به حالت وقفه می رود. Activityهای متوقف شد هنوز زنده هستند و همه حالت ها و اطلاعات اعضا را حفظ می کند و attachها را در window manager باقی می گذارد. این حالت در اولویت دوم activity در اندروید می باشد اگر منابع مورد نیاز نیازمند نگه داشتن Activityهای فعال یا در حال اجرا باشند توسط سیستم عامل حذف می شود.
3-Stopped/Backgrounded: به طور کلی activityهایی که به طور کامل در activity دیگر مبهم است به طور کامل متوقف یا در پس زمینه اجرا می شوند. Activityهای متوقف شده برای حفظ حالت و اطلاعات اعضای خود تا زمانی که ممکن باشد تلاش می کنند. اما activityهای متوقف شده با پایین ترین اولویت در 3 حالت سنجیده می شود و سیستم عامل ابتدا activityها را در این حالت حذف کرده تا نیازمندی های منابع را در activityهایی با اولویت بالا برآورده کند
4-Restarted: برای activityها این امکان وجود دارد تا از هرجایی در چرخه حیات از pause به stop تغییر پیدا کند تا از حافظه اندروید حذف شود. اگر activity ریست شد به آخرین حالت ذخیره شده قبل باز می گردد و به کاربر نمایش داده می شود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

− 4 = 1