如何在Android中设置后台堆栈中的活动限制?

时间:2017-06-02 07:25:09

标签: android performance

在我正在制作的应用中,有12个不同的活动链接到主页面。所有这些都是相互独立的。我希望从后台堆栈中删除以前的活动,以便应用程序占用更少的内存。 我已经设法使用

拥有每个活动的单个实例
android:launchMode = "singleInstance"

但是当这些活动从主页面开始时,12个不同的页面进入后台堆栈并且应用程序崩溃。 什么是解决方法?

2 个答案:

答案 0 :(得分:0)

听起来像android:noHistory =" true"将是你的解决方案。

  

值" true"意味着活动不会留下历史   跟踪。它不会保留在任务的活动堆栈中,所以   用户将无法返回。

How does android:noHistory="true" work?

答案 1 :(得分:0)

当你回去开始MainActivty时,在12个活动的背压上调用它。

Intent intent  = new Intent(youeActivity.this,MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);      
startActivity(intent);
finish();

manofest添加这个

android:excludeFromRecents="true"