我正在使用maven为我的Android应用程序运行robotium测试套件,但是我遇到了Java:内存不足异常,尽管当我尝试单独运行测试文件时,它们运行良好。我尝试使用 MAT 分析堆转储,它说罪魁祸首是一个数组列表,它保存我所有测试文件的对象,而这些对象又保存他们正在测试的活动的大多数。转储分析为 9.4MB,此 araylist 包含 4.3 MB。请提出任何解决方案。
提前感谢!!马扬克
受保护的 void teardown() 抛出异常 {
//Log out...
solo.sendKey(Solo.MENU);
solo.clickOnText("More");
solo.clickOnText("Logout");
if (solo.searchButton("Logout")) {
solo.clickOnButton("Logout");
}
solo.waitForActivity(LoginActivity.class.getName(), 1000);
assertTrue(solo.searchText("Your id"));
int i = 0;
while(solo.getAllOpenedActivities()!=null && solo.getAllOpenedActivities().size()>0){
solo.finishOpenedActivities();
solo.goBack();
if(i++>5){
break;
}
}
solo.finishOpenedActivities();
solo = null;
System.gc();
}
您描述的问题已在 Robotium 版本 3.4.1 中修复。请改用该版本。