Android 清空activity栈的方法

在intent中添加flags

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

这个标记,将会导致任何用来放置该activity的已经存在的task里面的已经存在的activity先清空,然后该activity再在该task中启动,也就是说,**这个新启动的activity变为了这个空task的根activity.所有老的activity都结束掉。该标志必须和FLAG_ACTIVITY_NEW_TASK一起使用。**

设置Intent.setFlag(Intent.FLAG_ACTIVITY_TOP)能够清空此栈之前的Activity

清空在即将跳转的activity之前的栈,所以此activity要设置成singline模式。跳转时候把他之前的栈都清掉

在AndroidManifest.xml设置Activity的属性noHistory = true,当启动新的Activity后之前的Activity不会保存在ActivityTask中,可以满足你的需求。
Intent.setFlag(FLAG_ACTIVITY_NO_HISTORY)

栈中完全不存放任何activity,每一个都是新生成的。

你可能感兴趣的:(android端,内存,栈)