If we have back stack like A -> B -> C -> D , and from D we need to open A without recreating its instance then we should use Clear top and single top as flags and root activity's (in our case A is root) launch mode should be singleTop or singleTask in our Android manifest file.