قسمت سوم - لابه‌لای زندگی اکتیویتی - ۲

در قسمت قبلی با عنوان قسمت دوم - لابه‌لای زندگی اکتیویتی - ۱ یک مقدار درباره چرخه‌حیات اکتیویتی صحبت کردیم و قرار شد توی این پست چند سناریو مختلف رو بررسی کنیم تا بیشتر با چرخه‌حیات اکتیویتی آشنا بشیم و اون رو بهتر بفهمیم.



سناریو اول: اکتیویتی finish شده و دوباره باز شود

در صورتی اتفاق می‌افتد که:

  • کاربر دکمه back را بزند و اکتیویتی را دوباره باز کند(یا در کد این کار انجام شود).


سناریو دوم: کاربر از اپ بیرون برود

در دو صورت اتفاق می‌افتد:

  • کاربر دکمه Home را بزند.
  • کاربر برنامه دیگری را باز کند.(از طریق کلیک روی نوتیفیکیشن‌ها و ...)


سناریو سوم: Configuration برنامه تغییر کند

در صورتی اتفاقی می‌افتد که:

  • تغییرات Configuration مثل چرخش صفحه.
  • کاربر سایز برنامه را در حالت Multi-window تغییر دهد.


سناریو چهارم: برنامه pause شود

در صورتی اتفاق می‌افتد که:

  • فعال کردن Multi-Window در API +24 و از دست رفتن Focus.
  • یک اپ دیگر قسمتی از صفحه را بپوشاند، مثل نمایش دیالوگ پرداخت برنامه‌ای دیگر، یا دیالوگ گرفتن ران‌تایم پرمیشن‌ها و ...
  • یک Intent Chooser نمایش داده شود، مثل اینتنت Share.


سناریو پنجم: جابجایی بین اکتیویتی‌ها

ابتدا یک اکتیویتی باز شده، سپس یک اکتیویتی دیگر روی آن باز می‌شود و بعد از آن به ترتیب بسته می‌شوند.


سناریو ششم: اکتیویتی در بک‌استک باشد و Configuration تغییر کند

اکتیویتی۱ در بک‌استک قرار دارد و اکتیویتی۲ روی آن قرار دارد و در این حالت دستگاه را می‌چرخانیم.


سناریو هفتم: پروسه اپ توسط اندروید ازبین برود و دوباره اجرا شود

در این حالت پروسه اپ توسط اندروید بسته می‌شود تا منابع برای دیگر برنامه‌ها استفاده شود.

همچنین اکتیویتی۱ در بک‌استک قرار دارد و اکتیویتی۲ روی آن قرار دارد.


اگر نظر یا سوالی داشتید، میتونید زیر همین پست کامنت بگذارید.

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


منابع

https://medium.com/androiddevelopers/the-android-lifecycle-cheat-sheet-part-i-single-activities-e49fd3d202ab