diff --git a/apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java b/apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java index 1be68f5d53a44..44e6c702fd90e 100644 --- a/apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java +++ b/apct-tests/perftests/windowmanager/src/android/wm/RelayoutPerfTest.java @@ -22,6 +22,7 @@ import android.app.Activity; import android.content.Context; import android.graphics.Point; import android.os.RemoteException; +import android.os.SystemClock; import android.perftests.utils.BenchmarkState; import android.perftests.utils.PerfStatusReporter; import android.perftests.utils.PerfTestActivity; @@ -124,6 +125,12 @@ public class RelayoutPerfTest extends WindowManagerPerfTestBase } private static class RelayoutRunner { + /** + * There may be some messages post to other threads with holding WM lock after relayout. + * Let it take a break to avoid lock contention that isn't the scope of this test. + */ + private static final long INTERVAL_MS = 10; + final ClientWindowFrames mOutFrames = new ClientWindowFrames(); final MergedConfiguration mOutMergedConfiguration = new MergedConfiguration(); final InsetsState mOutInsetsState = new InsetsState(); @@ -158,6 +165,9 @@ public class RelayoutPerfTest extends WindowManagerPerfTestBase mViewVisibility.getAsInt(), mFlags, mFrameNumber, mOutFrames, mOutMergedConfiguration, mOutSurfaceControl, mOutInsetsState, mOutControls, mOutSurfaceSize); + state.pauseTiming(); + SystemClock.sleep(INTERVAL_MS); + state.resumeTiming(); } } }