Android does create multiple instances of the activity unless you specify the
FLAG_ACTIVITY_CLEAR_TOP option. Quoting the documentation for this option.
If set, and the activity being launched is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it will be closed and this Intent will be delivered to the (now on top) old activity as a new Intent.
If you need to receive the new intents on this activity when the clear_top flag is set, override the onNewIntent() method.