یکی از مهمترین بخش های کار کردن با اکتیویتی دانستن چرخه ی حیات مربوط به آن و نحوه و زمان فراخوانی تابع اصلی آن می باشد. برای اینکه بتوانید بهترین عملکرد را درون هریک از ویوهای اپلیکیشن خود داشته باشید، باید نسبت به این مورد دانش کافی را داشته باشید . 



چرخه حیات اکتیویتی


onCreate()

زمانی که شما یک اکتیویتی را ایجاد می کنید در حقیقت این تابع را نیز فراخوانی می کنید. در حقیقت این تابع جایی است که همه ی المان های گرافیکی مقداردهی اولیه می شوند. علاوه بر این موارد، در این تابع شما به savedInstanceState مربوط به اکتیویتی هم دسترسی دارید که شامل state قبلی اکتیویتی می باشد. با استفاده از این مورد می توانید اکتیویتی خود را با استفاده از state قبلی بازسازی کنید. 


onStart()

دقیقا قبل از اینکه اکتیوتی داخل دستگاه کاربر به نمایش بیاید، این تابع فراخوانی خواهد شد. دقیقا بعد از اینکه این تابع فراخوانی شد، تابع onResume() نیز فراخوانی خواهد شد. معمولا از این تابع برای آغاز انیمیشن های UI یا مقداردهی پلیر استفاده می شود. 


onResume()

این تابع زمانی فراخوانی خواهد شد که اکتیویتی مورد نظر از پس زمینه به پیش زمینه فراخوانده شود. بهترین کاربردهایی که برای قرار دادن در این تابع می توان نام برد، شامل :‌ ریستارت کردن انیمیشن ها، بازخوانی موزیک یا ویدیو یا بروزرسانی UI می باشد. 


onPause()

تابعی است که دقیقا بعد از به پس زمینه رفتن اکتیویتی فراخوانی خواهد شد. در این تابع باید تمامی انیمیشن های شروع شده، استفاده از دوربین و … را متوقف کرد. زمانی که همین اکتیویتی به پیش زمینه فراخوانده شود تابع onResume() فراخوانی خواهد شد. 


onStop()

این تابع نیز بعد از تابع onPause() و دقیقا قبل از به پس زمینه رفتن اکتیویتی فراخوانی خواهد شد. از جمله ی کاربردهای این تابع می توان به ذخیره کردن اطلاعات مربوط به اکتیویتی داخل حافظه ی دستگاه اشاره نمود. 


onRestart()

پس از توقف یک اکتیویتی و قبل از شروع شدن دوباره ی آن این تابع فراخوانی خواهد شد. تابعی که دقیقا بعد از این تابع فراخوانی می شود onStart() می باشد. 


onDestroy()

این تابع آخرین تابعی است که قبل از، از بین رفتن کامل اکتیویتی فراخوانی می شود. یکی از راه های از بین بردن اکتیویتی فراخوانی تابع finish() می باشد.