Merge "Add a benchmark test for Resources.getIdentifier" am: 49665e8d49 am: 863e8c2eaa

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1934472

Change-Id: Ia5b7dec81c5e1fa6f79d0ef3a5bfb7cec3f59ae7
This commit is contained in:
Treehugger Robot 2022-02-14 09:04:50 +00:00 committed by Automerger Merge Worker
commit 9432472262
3 changed files with 10048 additions and 1 deletions

View File

@ -1 +1,5 @@
include /graphics/java/android/graphics/fonts/OWNERS
# Bug component: 568761
per-file /apct-tests/perftests/core/res/* = felkachang@google.com,zyy@google.com

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,7 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.util.Random;
/**
* Benchmarks for {@link android.content.res.Resources}.
@ -222,4 +223,24 @@ public class ResourcesPerfTest {
state.resumeTiming();
}
}
}
@Test
public void getIdentifier() {
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
final Random random = new Random(System.currentTimeMillis());
final Context context = InstrumentationRegistry.getTargetContext();
final String packageName = context.getPackageName();
while (state.keepRunning()) {
state.pauseTiming();
final int expectedInteger = random.nextInt(10001);
final String expectedString = Integer.toHexString(expectedInteger);
final String entryName = "i_am_color_" + expectedString;
state.resumeTiming();
final int resIdentifier = mRes.getIdentifier(entryName, "color", packageName);
if (resIdentifier == 0) {
fail("Color \"" + entryName + "\" is not found");
}
}
}
}