在Android中运行robotium测试套件时出现内存不足异常



我正在使用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 中修复。请改用该版本。

最新更新