Activity life cycle and launch mode

Activity life cycle

Activity’s life cycle is well know, it can be summarize by below pic

It is divided into two cases, normal and exception life cycle

Normal life cycle

It’s the life cycle show in the pic’s AXES, very simple and easy to know.

one question,onStart onResume, onPause onStop function looks very similar, what’s the different with them?

The different is, onStart and onPause is invoked when activity visible and not visible, onResume and onStop is invoked when the activity is in the front and not front.

Exception life cycle

Mainly is when activity killed in background and restart life cycle, if not set the onConfigChange after killed activity will invoke onSaveInstanceState to save some status such as text.
After restart, will invoke onRestyoreInstanceState to recover it’s saved info.

When the onconfigchange set on the manifest, after killed will invoke onConfigrationChanged to save info, so we can set onConfigCHnage to different case such as rotate or other.

Activity launch mode

there are four launch mode

stand stand mode

singleTask only one instance exist in task stack

singleTop if not have in top of task stack, create new, if not will not create.

singleInstance create a new task and put the new instance in it.

TaskAffinity

when a new instance create, will find the same package name app to enjoin it, for more detail, you can see below post
关于TaskAffinity属性的作用

set FLAG in code to set Activity launch mode

We can also set FLAG in code to set activity launch mode

FLAG_ACTIVITY_NEW_TASK equal singletask
FLAG_ACTIVITY_SINGLE_TOP equal singleTop
FLAG_ACTIVITY_CLEAR_TOP equal singletask
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS this activity not show in recent app

ACTION and CATEGORY match rules

ACTION must have exist to match,category can not have, system will auto add a DEFAULT category.

u3coding
A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*