在我制作的应用程序中,有12个不同的活动链接到主页面。他们都是彼此独立的。我希望从后端堆栈中删除以前的活动,以便应用程序占用更少的内存。 我设法让每个活动的单个实例使用如何在Android中设置后台堆栈中的活动限制?
android:launchMode = "singleInstance"
但仍当这些活动从主页开始,12个不同的页面去后退堆栈和应用程序崩溃。 什么是解决方法?
在我制作的应用程序中,有12个不同的活动链接到主页面。他们都是彼此独立的。我希望从后端堆栈中删除以前的活动,以便应用程序占用更少的内存。 我设法让每个活动的单个实例使用如何在Android中设置后台堆栈中的活动限制?
android:launchMode = "singleInstance"
但仍当这些活动从主页开始,12个不同的页面去后退堆栈和应用程序崩溃。 什么是解决方法?
听起来像android:noHistory =“true”将是您的解决方案。
值为“true”表示该活动不会留下历史迹线 。它不会保留在任务的活动堆栈中,因此 用户将无法返回到该堆栈。
'android:noHistory =“true”' 似乎不工作得很好。我的意思是分配的内存甚至还在开放活动中上升。如果我在两次活动之间切换几次,内存会不断上升(每次活动调用大约20MB),直到应用程序崩溃到180MB。如果没有历史活动在背后,这不应该发生。 –
,12个activitys称之为上backpress。
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"
尝试增加Intent.FLAG_ACTIVITY_NO_HISTORY); 这个标志,当你从一个活动另一个去......这个东西,你可以在清单中定义以及 – santoXme