В Android, если вы хотите очистить текущий стек Activity и запустить новый Activity (например, выйти из приложения и запустить журнал Activity), похоже, есть два подхода.
Есть ли какие-либо преимущества для одного над другим, если ваш целевой уровень API выше 16?
1) Финитировать сродство
Вызов finishAffinity() из Activity.
Activity.finishAffinity
2) Флаги намерения
Intent intent = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
Подход finishAffinity() подходит для >= API 16.
Подход флагов Intent подходит для >= API 11.
Чтобы быть ясным, для очистки текущего стека Activity оба подхода выглядят одинаково одинаково. Мой вопрос в том, есть ли проблемы с тем, что люди испытали и, следовательно, есть ли какие-либо причины выбрать один над другим?