あなたが書いた
What's the preferred way to clean up in between Activity navigation aiming to reduce memory footprint?
新しいアクティビティを開始するときに次の操作を行うと、アクティビティ スタックをクリアできます。
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
これにより、NextActivity を除くすべてのアクティビティが閉じられます。
または、マニフェストで、別のアクティビティを開始したときにアクティビティが「存続」しないように指定できます。
<activity
android:name=".CurrentActivity"
//...
android:noHistory="true"/>
また、クローズされたアクティビティがリークされていないことを確認する必要があります。たとえば、onPause() または onStop() を呼び出したときにアクティビティに登録されていたすべての BroadcastReceiver を登録解除する必要があります。
詳細は、最終的にはアプリの仕様によって異なります。