Add interval for relayout perf test
So if there are messages posted to other threads in relayout, they won't affect the next round to execute relayout. And the continuous invocation isn't common in the real case. Bug: 129527548 Test: atest RelayoutPerfTest Change-Id: I0081fc7a80271ee3dd97c19a6ae7e3bc13ae8a8b
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user