【发布时间】:2016-03-10 05:07:39
【问题描述】:
我使用 Espresso 进行了大约 200 次测试。其中大多数是大型测试。运行测试时,应用程序崩溃并在日志中显示,
测试未能完成。原因:“由于“进程崩溃”,仪器运行失败。>
我认为这是由于 OutOfMemory 问题。是否有任何修复程序可用于在拆卸方法中清除内存,以便我们可以在每次测试完成后清除内存?或者是否有任何其他解决方法可以解决此问题?我尝试在测试清单文件中使用 android:largeHeap="true" 。但它不起作用。这是完整的日志,
java.lang.OutOfMemoryError: Failed to allocate a 50452 byte allocation with 43158 free bytes and 42KB until OOM
at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:163)
at java.lang.StringBuilder.append(StringBuilder.java:288)
at java.lang.StringBuilder.append(StringBuilder.java:44)
at android.support.test.espresso.core.deps.guava.base.Joiner.appendTo(Joiner.java:111)
at android.support.test.espresso.core.deps.guava.base.Joiner.appendTo(Joiner.java:152)
at android.support.test.espresso.core.deps.guava.base.Joiner.appendTo(Joiner.java:140)
at android.support.test.espresso.util.HumanReadables.getViewHierarchyErrorMessage(HumanReadables.java:76)
at android.support.test.espresso.NoMatchingViewException.getErrorMessage(NoMatchingViewException.java:87)
at android.support.test.espresso.NoMatchingViewException.<init>(NoMatchingViewException.java:59)
at android.support.test.espresso.NoMatchingViewException.<init>(NoMatchingViewException.java:46)
at android.support.test.espresso.NoMatchingViewException$Builder.build(NoMatchingViewException.java:145)
at android.support.test.espresso.base.ViewFinderImpl.getView(ViewFinderImpl.java:95)
at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:120)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
【问题讨论】: